summaryrefslogtreecommitdiff
path: root/apps/plugin.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-06-29 06:37:04 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-06-29 06:37:04 +0000
commita2b6703a369f6cdbfec1f150c408dadc877631fb (patch)
tree3145a8c1372c44711d38feefeba39c7d4098f139 /apps/plugin.c
parent8411614b8a068a4f274c3841aa55aab1df1bc246 (diff)
downloadrockbox-a2b6703a369f6cdbfec1f150c408dadc877631fb.tar.gz
rockbox-a2b6703a369f6cdbfec1f150c408dadc877631fb.zip
Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.c')
-rw-r--r--apps/plugin.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/plugin.c b/apps/plugin.c
index d9f7c4e24c..10cb9263a4 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -551,7 +551,7 @@ static const struct plugin_api rockbox_api = {
551 pcm_get_peak_buffer, 551 pcm_get_peak_buffer,
552 pcm_play_lock, 552 pcm_play_lock,
553 pcm_play_unlock, 553 pcm_play_unlock,
554 pcmbuf_beep, 554 beep_play,
555#ifdef HAVE_RECORDING 555#ifdef HAVE_RECORDING
556 &rec_freq_sampr[0], 556 &rec_freq_sampr[0],
557 pcm_init_recording, 557 pcm_init_recording,
@@ -778,6 +778,9 @@ static const struct plugin_api rockbox_api = {
778 778
779 /* new stuff at the end, sort into place next time 779 /* new stuff at the end, sort into place next time
780 the API gets incompatible */ 780 the API gets incompatible */
781
782 mixer_channel_status,
783 mixer_channel_get_buffer,
781}; 784};
782 785
783int plugin_load(const char* plugin, const void* parameter) 786int plugin_load(const char* plugin, const void* parameter)