diff options
-rw-r--r-- | apps/playback.c | 1 | ||||
-rw-r--r-- | apps/plugins/doom/i_sound.c | 12 | ||||
-rw-r--r-- | apps/plugins/metronome.c | 20 | ||||
-rw-r--r-- | apps/plugins/midiplay.c | 9 | ||||
-rw-r--r-- | apps/plugins/mpegplayer/mpegplayer.c | 10 | ||||
-rw-r--r-- | apps/plugins/rockboy/rbsound.c | 10 | ||||
-rw-r--r-- | apps/plugins/zxbox/spsound.c | 10 |
7 files changed, 59 insertions, 13 deletions
diff --git a/apps/playback.c b/apps/playback.c index 9cd82de9b6..ca88b5f5e3 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -3303,6 +3303,7 @@ static void audio_play_start(size_t offset) | |||
3303 | { | 3303 | { |
3304 | #if INPUT_SRC_CAPS != 0 | 3304 | #if INPUT_SRC_CAPS != 0 |
3305 | audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | 3305 | audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); |
3306 | audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
3306 | #endif | 3307 | #endif |
3307 | 3308 | ||
3308 | /* Wait for any previously playing audio to flush - TODO: Not necessary? */ | 3309 | /* Wait for any previously playing audio to flush - TODO: Not necessary? */ |
diff --git a/apps/plugins/doom/i_sound.c b/apps/plugins/doom/i_sound.c index d79f7a132b..2f4f594077 100644 --- a/apps/plugins/doom/i_sound.c +++ b/apps/plugins/doom/i_sound.c | |||
@@ -56,9 +56,9 @@ | |||
56 | #define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL) | 56 | #define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL) |
57 | 57 | ||
58 | #ifdef HW_HAVE_11 | 58 | #ifdef HW_HAVE_11 |
59 | #define SAMPLERATE 11025 // 44100 22050 11025 | 59 | #define SAMPLERATE SAMPR_11 // 44100 22050 11025 |
60 | #else | 60 | #else |
61 | #define SAMPLERATE 44100 // 44100 22050 11025 | 61 | #define SAMPLERATE SAMPR_44 // 44100 22050 11025 |
62 | #endif | 62 | #endif |
63 | #define SAMPLESIZE 2 // 16bit | 63 | #define SAMPLESIZE 2 // 16bit |
64 | 64 | ||
@@ -481,7 +481,7 @@ void I_SubmitSound(void) | |||
481 | void I_ShutdownSound(void) | 481 | void I_ShutdownSound(void) |
482 | { | 482 | { |
483 | rb->pcm_play_stop(); | 483 | rb->pcm_play_stop(); |
484 | rb->pcm_set_frequency(44100); // 44100 | 484 | rb->pcm_set_frequency(HW_SAMPR_DEFAULT); // 44100 |
485 | } | 485 | } |
486 | 486 | ||
487 | void I_InitSound() | 487 | void I_InitSound() |
@@ -491,6 +491,12 @@ void I_InitSound() | |||
491 | // Initialize external data (all sounds) at start, keep static. | 491 | // Initialize external data (all sounds) at start, keep static. |
492 | printf( "I_InitSound: "); | 492 | printf( "I_InitSound: "); |
493 | rb->pcm_play_stop(); | 493 | rb->pcm_play_stop(); |
494 | |||
495 | #if INPUT_SRC_CAPS != 0 | ||
496 | /* Select playback */ | ||
497 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
498 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
499 | #endif | ||
494 | rb->pcm_set_frequency(SAMPLERATE); | 500 | rb->pcm_set_frequency(SAMPLERATE); |
495 | 501 | ||
496 | vol_lookup=malloc(128*256*sizeof(int)); | 502 | vol_lookup=malloc(128*256*sizeof(int)); |
diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c index 712731462a..83af2eb46b 100644 --- a/apps/plugins/metronome.c +++ b/apps/plugins/metronome.c | |||
@@ -904,6 +904,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ | |||
904 | #else | 904 | #else |
905 | #define PLA_ARRAY_COUNT 2 | 905 | #define PLA_ARRAY_COUNT 2 |
906 | #endif | 906 | #endif |
907 | enum plugin_status status; | ||
907 | 908 | ||
908 | (void)parameter; | 909 | (void)parameter; |
909 | rb = api; | 910 | rb = api; |
@@ -915,7 +916,12 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ | |||
915 | rb->bitswap(sound, sizeof(sound)); | 916 | rb->bitswap(sound, sizeof(sound)); |
916 | #else | 917 | #else |
917 | prepare_tock(); | 918 | prepare_tock(); |
918 | rb->pcm_set_frequency(44100); | 919 | #if INPUT_SRC_CAPS != 0 |
920 | /* Select playback */ | ||
921 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
922 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
923 | #endif | ||
924 | rb->pcm_set_frequency(SAMPR_44); | ||
919 | #endif | 925 | #endif |
920 | 926 | ||
921 | calc_period(); | 927 | calc_period(); |
@@ -944,7 +950,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ | |||
944 | case METRONOME_QUIT: | 950 | case METRONOME_QUIT: |
945 | /* get out of here */ | 951 | /* get out of here */ |
946 | cleanup(NULL); | 952 | cleanup(NULL); |
947 | return PLUGIN_OK; | 953 | status = PLUGIN_OK; |
954 | goto metronome_exit; | ||
948 | 955 | ||
949 | #if CONFIG_KEYPAD == ONDIO_PAD | 956 | #if CONFIG_KEYPAD == ONDIO_PAD |
950 | case METRONOME_PLAY_TAP: | 957 | case METRONOME_PLAY_TAP: |
@@ -1013,7 +1020,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ | |||
1013 | default: | 1020 | default: |
1014 | if (rb->default_event_handler_ex(button, cleanup, NULL) | 1021 | if (rb->default_event_handler_ex(button, cleanup, NULL) |
1015 | == SYS_USB_CONNECTED) | 1022 | == SYS_USB_CONNECTED) |
1016 | return PLUGIN_USB_CONNECTED; | 1023 | { |
1024 | status = PLUGIN_USB_CONNECTED; | ||
1025 | goto metronome_exit; | ||
1026 | } | ||
1017 | reset_tap = false; | 1027 | reset_tap = false; |
1018 | break; | 1028 | break; |
1019 | 1029 | ||
@@ -1022,5 +1032,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){ | |||
1022 | tap_count = 0; | 1032 | tap_count = 0; |
1023 | } | 1033 | } |
1024 | } | 1034 | } |
1035 | |||
1036 | metronome_exit: | ||
1037 | rb->pcm_set_frequency(HW_SAMPR_DEFAULT); | ||
1038 | return status; | ||
1025 | } | 1039 | } |
1026 | 1040 | ||
diff --git a/apps/plugins/midiplay.c b/apps/plugins/midiplay.c index e586f7b0fe..9dda07482e 100644 --- a/apps/plugins/midiplay.c +++ b/apps/plugins/midiplay.c | |||
@@ -80,11 +80,11 @@ PLUGIN_IRAM_DECLARE | |||
80 | #define FRACTSIZE 10 | 80 | #define FRACTSIZE 10 |
81 | 81 | ||
82 | #ifndef SIMULATOR | 82 | #ifndef SIMULATOR |
83 | #define SAMPLE_RATE 22050 // 44100 22050 11025 | 83 | #define SAMPLE_RATE SAMPR_22 // 44100 22050 11025 |
84 | #define MAX_VOICES 20 // Note: 24 midi channels is the minimum general midi | 84 | #define MAX_VOICES 20 // Note: 24 midi channels is the minimum general midi |
85 | // spec implementation | 85 | // spec implementation |
86 | #else // Simulator requires 44100, and we can afford to use more voices | 86 | #else // Simulator requires 44100, and we can afford to use more voices |
87 | #define SAMPLE_RATE 44100 | 87 | #define SAMPLE_RATE SAMPR_44 |
88 | #define MAX_VOICES 48 | 88 | #define MAX_VOICES 48 |
89 | #endif | 89 | #endif |
90 | 90 | ||
@@ -232,6 +232,11 @@ int midimain(void * filename) | |||
232 | 232 | ||
233 | //#ifndef SIMULATOR | 233 | //#ifndef SIMULATOR |
234 | rb->pcm_play_stop(); | 234 | rb->pcm_play_stop(); |
235 | #if INPUT_SRC_CAPS != 0 | ||
236 | /* Select playback */ | ||
237 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
238 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
239 | #endif | ||
235 | rb->pcm_set_frequency(SAMPLE_RATE); // 44100 22050 11025 | 240 | rb->pcm_set_frequency(SAMPLE_RATE); // 44100 22050 11025 |
236 | //#endif | 241 | //#endif |
237 | 242 | ||
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index 5b098dd7b4..881baa925e 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c | |||
@@ -1636,6 +1636,14 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
1636 | 1636 | ||
1637 | audiobuf = rb->plugin_get_audio_buffer(&audiosize); | 1637 | audiobuf = rb->plugin_get_audio_buffer(&audiosize); |
1638 | 1638 | ||
1639 | #if INPUT_SRC_CAPS != 0 | ||
1640 | /* Select playback */ | ||
1641 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
1642 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
1643 | #endif | ||
1644 | |||
1645 | rb->pcm_set_frequency(SAMPR_44); | ||
1646 | |||
1639 | /* Set disk pointers to NULL */ | 1647 | /* Set disk pointers to NULL */ |
1640 | disk_buf_end = disk_buf = NULL; | 1648 | disk_buf_end = disk_buf = NULL; |
1641 | 1649 | ||
@@ -1847,6 +1855,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
1847 | 1855 | ||
1848 | save_settings(); /* Save settings (if they have changed) */ | 1856 | save_settings(); /* Save settings (if they have changed) */ |
1849 | 1857 | ||
1858 | rb->pcm_set_frequency(HW_SAMPR_DEFAULT); | ||
1859 | |||
1850 | #ifdef HAVE_BACKLIGHT | 1860 | #ifdef HAVE_BACKLIGHT |
1851 | /* reset backlight settings */ | 1861 | /* reset backlight settings */ |
1852 | rb->backlight_set_timeout(rb->global_settings->backlight_timeout); | 1862 | rb->backlight_set_timeout(rb->global_settings->backlight_timeout); |
diff --git a/apps/plugins/rockboy/rbsound.c b/apps/plugins/rockboy/rbsound.c index 4e61d5590c..e671554e25 100644 --- a/apps/plugins/rockboy/rbsound.c +++ b/apps/plugins/rockboy/rbsound.c | |||
@@ -45,8 +45,14 @@ void pcm_init(void) | |||
45 | } | 45 | } |
46 | 46 | ||
47 | rb->pcm_play_stop(); | 47 | rb->pcm_play_stop(); |
48 | |||
49 | #if INPUT_SRC_CAPS != 0 | ||
50 | /* Select playback */ | ||
51 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
52 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
53 | #endif | ||
48 | 54 | ||
49 | rb->pcm_set_frequency(11025); /* 44100 22050 11025 */ | 55 | rb->pcm_set_frequency(SAMPR_11); /* 44100 22050 11025 */ |
50 | } | 56 | } |
51 | 57 | ||
52 | void pcm_close(void) | 58 | void pcm_close(void) |
@@ -54,7 +60,7 @@ void pcm_close(void) | |||
54 | memset(&pcm, 0, sizeof pcm); | 60 | memset(&pcm, 0, sizeof pcm); |
55 | newly_started = true; | 61 | newly_started = true; |
56 | rb->pcm_play_stop(); | 62 | rb->pcm_play_stop(); |
57 | rb->pcm_set_frequency(44100); | 63 | rb->pcm_set_frequency(HW_SAMPR_DEFAULT); |
58 | } | 64 | } |
59 | 65 | ||
60 | int pcm_submit(void) | 66 | int pcm_submit(void) |
diff --git a/apps/plugins/zxbox/spsound.c b/apps/plugins/zxbox/spsound.c index f9a4c6caa7..aae4ad9c8d 100644 --- a/apps/plugins/zxbox/spsound.c +++ b/apps/plugins/zxbox/spsound.c | |||
@@ -106,8 +106,12 @@ static void open_snd(void) | |||
106 | sndstate = SPS_OPENED; | 106 | sndstate = SPS_OPENED; |
107 | sound_avail=1; | 107 | sound_avail=1; |
108 | rb->pcm_play_stop(); | 108 | rb->pcm_play_stop(); |
109 | rb->pcm_set_frequency(44100); | 109 | #if INPUT_SRC_CAPS != 0 |
110 | 110 | /* Select playback */ | |
111 | rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | ||
112 | rb->audio_set_output_source(AUDIO_SRC_PLAYBACK); | ||
113 | #endif | ||
114 | rb->pcm_set_frequency(SAMPR_44); | ||
111 | } | 115 | } |
112 | 116 | ||
113 | static void close_snd(int normal) | 117 | static void close_snd(int normal) |
@@ -115,7 +119,7 @@ static void close_snd(int normal) | |||
115 | (void)normal; | 119 | (void)normal; |
116 | sound_avail = 0; | 120 | sound_avail = 0; |
117 | rb->pcm_play_stop(); | 121 | rb->pcm_play_stop(); |
118 | rb->pcm_set_frequency(44100); | 122 | rb->pcm_set_frequency(HW_SAMPR_DEFAULT); |
119 | } | 123 | } |
120 | 124 | ||
121 | 125 | ||