diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/SDL2.c (renamed from src/sdl.c) | 11 | ||||
-rw-r--r-- | src/include.h | 4 | ||||
-rw-r--r-- | src/modules/fluidsynth.c | 2 | ||||
-rw-r--r-- | src/modules/openmpt.c | 2 |
4 files changed, 15 insertions, 4 deletions
diff --git a/src/sdl.c b/src/SDL2.c index 21ce1a8..4e51269 100644 --- a/src/sdl.c +++ b/src/SDL2.c @@ -16,6 +16,8 @@ static const int WINDOW_WIDTH = 160, WINDOW_HEIGHT = 90; SDL_Window *window = NULL; +int paused = 0; + struct blob load_file(char const *const name); struct userdata userdata = { @@ -65,9 +67,9 @@ int main(int argc, char **argv) { SDL_RenderPresent(renderer); SDL_AudioSpec desired = { - .freq = 48000, + .freq = SAMPLE_RATE, .format = AUDIO_F32SYS, - .channels = 2, + .channels = OUT_CHANNELS, .samples = 8096, .callback = audio_callback, .userdata = &userdata, @@ -111,6 +113,11 @@ int main(int argc, char **argv) { if (evt.key.keysym.sym == SDLK_ESCAPE) { goto done; } + + if (evt.key.keysym.sym == SDLK_SPACE) { + paused = !paused; + SDL_PauseAudioDevice(audio, paused); + } break; case SDL_DROPFILE: diff --git a/src/include.h b/src/include.h index 389aaf2..6bd52ff 100644 --- a/src/include.h +++ b/src/include.h @@ -1,6 +1,10 @@ #pragma once #include <stddef.h> +#define SAMPLE_RATE 48000 +#define IN_CHANNELS 0 +#define OUT_CHANNELS 2 + struct blob { void *data; size_t size; diff --git a/src/modules/fluidsynth.c b/src/modules/fluidsynth.c index fd3c874..9eedc2c 100644 --- a/src/modules/fluidsynth.c +++ b/src/modules/fluidsynth.c @@ -36,7 +36,7 @@ int module_fluidsynth(struct blob *file, struct userdata *userdata) { fs->settings = new_fluid_settings(); // wasteful, but when trying to 'fix' it it just caused more errors fluid_settings_setnum(fs->settings, "synth.gain", 0.5); fluid_settings_setint(fs->settings, "player.reset-synth", 0); - fluid_settings_setnum(fs->settings, "synth.sample-rate", 48000); + fluid_settings_setnum(fs->settings, "synth.sample-rate", SAMPLE_RATE); fs->synth = new_fluid_synth(fs->settings); char *soundfont_path = getenv("SOUNDFONT"); if (soundfont_path == NULL) { diff --git a/src/modules/openmpt.c b/src/modules/openmpt.c index 58c3994..027519f 100644 --- a/src/modules/openmpt.c +++ b/src/modules/openmpt.c @@ -4,7 +4,7 @@ #include <libopenmpt/libopenmpt.h> static void openmpt_callback(void *mod, unsigned char *stream, int const length) { - openmpt_module_read_interleaved_float_stereo(mod, 48000, length / sizeof (float) / 2, (float *) stream); + openmpt_module_read_interleaved_float_stereo(mod, SAMPLE_RATE, length / sizeof (float) / 2, (float *) stream); } static void libopenmpt_example_logfunc( const char * message, void * userdata ); |