summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/metronome.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c
index 587d9f5fe1..c1e156075b 100644
--- a/apps/plugins/metronome.c
+++ b/apps/plugins/metronome.c
@@ -711,11 +711,23 @@ static signed short sound[] = {
711 711
712int tock; 712int tock;
713 713
714short sndbuf[sizeof(sound)*2];
715
716/* Convert the mono "tock" sample to interleaved stereo */
717void prepare_tock(void)
718{
719 int i;
720 for(i = 0;i < (int)sizeof(sound)/2;i++) {
721 sndbuf[i*2] = sound[i];
722 sndbuf[i*2+1] = sound[i];
723 }
724}
725
714void callback_pcm(unsigned char** start, long* size) 726void callback_pcm(unsigned char** start, long* size)
715{ 727{
716 if(sound_active) { 728 if(sound_active) {
717 *start = (unsigned char *)sound; 729 *start = (unsigned char *)sndbuf;
718 *size = sizeof(sound); 730 *size = sizeof(sndbuf);
719 sound_active = false; 731 sound_active = false;
720 } 732 }
721} 733}
@@ -876,6 +888,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){
876#if CONFIG_CODEC != SWCODEC 888#if CONFIG_CODEC != SWCODEC
877 rb->bitswap(sound, sizeof(sound)); 889 rb->bitswap(sound, sizeof(sound));
878#else 890#else
891 prepare_tock();
879 rb->pcm_set_frequency(44100); 892 rb->pcm_set_frequency(44100);
880#endif 893#endif
881 894