diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-06-10 02:10:47 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-06-10 02:10:47 +0000 |
commit | 4597ebe24b5300f9e0009ae5a4e08a0527214e94 (patch) | |
tree | a1d5c3e6c305b5033efca4827e9e2d116662bda3 /apps/plugins/metronome.c | |
parent | 19cc9d063a22cd5162e164d8f5e2fe98944c3721 (diff) | |
download | rockbox-4597ebe24b5300f9e0009ae5a4e08a0527214e94.tar.gz rockbox-4597ebe24b5300f9e0009ae5a4e08a0527214e94.zip |
Plugins that play sound must be sure to set inputs and outputs on audio muxed targets. Add strict adherence to the interface protocols. Make sure playback sets the playback output as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13604 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/metronome.c')
-rw-r--r-- | apps/plugins/metronome.c | 20 |
1 files changed, 17 insertions, 3 deletions
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 | ||