# HG changeset patch # User nenolod # Date 1158127867 25200 # Node ID 600efc52c645c3e99089b8ef694c58bddf4689e5 # Parent daabad781796f765994aa68fbdf90aaf28e07fb9 [svn] - be careful about referencing a NULL widget (e.g. headless/serveronly mode crashes on streams, bug #562) diff -r daabad781796 -r 600efc52c645 ChangeLog --- a/ChangeLog Tue Sep 12 10:59:59 2006 -0700 +++ b/ChangeLog Tue Sep 12 23:11:07 2006 -0700 @@ -1,3 +1,33 @@ +2006-09-12 17:59:59 +0000 Giacomo Lozito + revision [2279] + - amidi-plug 0.6 imported; among other improvements, multiple soundfont loading for fluidsynth backend and option to extract/display lyrics and comments contained in midi files + + Changes: Modified: + +3 -2 trunk/Plugins/Input/amidi-plug/Makefile.in + +7 -1 trunk/Plugins/Input/amidi-plug/amidi-plug.c + +1 -1 trunk/Plugins/Input/amidi-plug/backend-alsa/Makefile.in + +1 -1 trunk/Plugins/Input/amidi-plug/backend-dummy/Makefile.in + +1 -1 trunk/Plugins/Input/amidi-plug/backend-fluidsynth/Makefile.in + +30 -14 trunk/Plugins/Input/amidi-plug/backend-fluidsynth/b-fluidsynth.c + +1 -1 trunk/Plugins/Input/amidi-plug/backend-fluidsynth/b-fluidsynth.h + +5 -5 trunk/Plugins/Input/amidi-plug/i_backend.c + +1 -1 trunk/Plugins/Input/amidi-plug/i_common.h + +4 -3 trunk/Plugins/Input/amidi-plug/i_configure-alsa.c + +42 -6 trunk/Plugins/Input/amidi-plug/i_configure-ap.c + +5 -5 trunk/Plugins/Input/amidi-plug/i_configure-dummy.c + +223 -38 trunk/Plugins/Input/amidi-plug/i_configure-fluidsynth.c + +75 -22 trunk/Plugins/Input/amidi-plug/i_configure.c + +2 -0 trunk/Plugins/Input/amidi-plug/i_configure.h + +167 -6 trunk/Plugins/Input/amidi-plug/i_fileinfo.c + +44 -0 trunk/Plugins/Input/amidi-plug/i_midi.c + +5 -0 trunk/Plugins/Input/amidi-plug/i_midi.h + +1 -0 trunk/Plugins/Input/amidi-plug/i_midievent.h + +4 -1 trunk/Plugins/Input/amidi-plug/i_utils.c + +1 -1 trunk/Plugins/Input/amidi-plug/i_utils.h + +2 -2 trunk/configure.ac + +1 -1 trunk/mk/rules.mk.in + + 2006-09-11 23:06:23 +0000 Tony Vroon revision [2277] Use the VFS. diff -r daabad781796 -r 600efc52c645 audacious/input.c --- a/audacious/input.c Tue Sep 12 10:59:59 2006 -0700 +++ b/audacious/input.c Tue Sep 12 23:11:07 2006 -0700 @@ -760,8 +760,11 @@ ip_data.buffering = status; - if (ip_data.buffering == TRUE && mainwin_playstatus->ps_status == STATUS_STOP) + g_return_if_fail(mainwin_playstatus != NULL); + + if (ip_data.buffering == TRUE && mainwin_playstatus != NULL && mainwin_playstatus->ps_status == STATUS_STOP) mainwin_playstatus->ps_status = STATUS_PLAY; + playstatus_set_status_buffering(mainwin_playstatus, ip_data.buffering); } diff -r daabad781796 -r 600efc52c645 audacious/mainwin.c --- a/audacious/mainwin.c Tue Sep 12 10:59:59 2006 -0700 +++ b/audacious/mainwin.c Tue Sep 12 23:11:07 2006 -0700 @@ -874,7 +874,7 @@ widget_show(WIDGET(mainwin_10sec_num)); widget_show(WIDGET(mainwin_sec_num)); - if (!bmp_playback_get_paused()) + if (!bmp_playback_get_paused() && mainwin_playstatus != NULL) playstatus_set_status(mainwin_playstatus, STATUS_PLAY); if (playlist_get_current_length() != -1) { @@ -944,7 +944,8 @@ textbox_set_text(mainwin_freq_text, " "); monostereo_set_num_channels(mainwin_monostereo, 0); - playstatus_set_status(mainwin_playstatus, STATUS_STOP); + if (mainwin_playstatus != NULL) + playstatus_set_status(mainwin_playstatus, STATUS_STOP); /* hide playback time */ widget_hide(WIDGET(mainwin_minus_num)); diff -r daabad781796 -r 600efc52c645 audacious/playback.c --- a/audacious/playback.c Tue Sep 12 10:59:59 2006 -0700 +++ b/audacious/playback.c Tue Sep 12 23:11:07 2006 -0700 @@ -124,13 +124,15 @@ ip_data.paused = !ip_data.paused; + if (get_current_input_plugin()->pause) + get_current_input_plugin()->pause(ip_data.paused); + + g_return_if_fail(mainwin_playstatus != NULL); + if (ip_data.paused) playstatus_set_status(mainwin_playstatus, STATUS_PAUSE); else playstatus_set_status(mainwin_playstatus, STATUS_PLAY); - - if (get_current_input_plugin()->pause) - get_current_input_plugin()->pause(ip_data.paused); } void @@ -156,8 +158,11 @@ } ip_data.buffering = FALSE; + ip_data.playing = FALSE; + + g_return_if_fail(mainwin_playstatus != NULL); + playstatus_set_status_buffering(mainwin_playstatus, FALSE); - ip_data.playing = FALSE; } void