From 4bc3ba72cf396c3c3c220edd14b1886a49b697d9 Mon Sep 17 00:00:00 2001 From: derselbst Date: Tue, 12 Mar 2019 18:21:13 +0100 Subject: [PATCH 1/5] fix documentation for pitch_bend_range shell command --- src/bindings/fluid_cmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings/fluid_cmd.c b/src/bindings/fluid_cmd.c index 63bb2915..6601445d 100644 --- a/src/bindings/fluid_cmd.c +++ b/src/bindings/fluid_cmd.c @@ -102,7 +102,7 @@ static const fluid_cmd_t fluid_commands[] = }, { "pitch_bend_range", "event", fluid_handle_pitch_bend_range, - "pitch_bend chan range Sets bend pitch range" + "pitch_bend_range chn range Sets pitch bend range for the given midi channel" }, { "cc", "event", fluid_handle_cc, From 8f3af98a9434997a5f3490b7f957df08de52ce2f Mon Sep 17 00:00:00 2001 From: derselbst Date: Fri, 15 Mar 2019 15:59:05 +0100 Subject: [PATCH 2/5] prevent fluidsynth_priv.h from being listed by doxygen --- src/utils/fluid_sys.h | 2 +- src/utils/fluidsynth_priv.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/fluid_sys.h b/src/utils/fluid_sys.h index 9f2d6f6c..9d41c4cd 100644 --- a/src/utils/fluid_sys.h +++ b/src/utils/fluid_sys.h @@ -19,7 +19,7 @@ */ -/** +/* * @file fluid_sys.h * * This header contains a bunch of (mostly) system and machine diff --git a/src/utils/fluidsynth_priv.h b/src/utils/fluidsynth_priv.h index e299a5ff..80e1060f 100644 --- a/src/utils/fluidsynth_priv.h +++ b/src/utils/fluidsynth_priv.h @@ -18,7 +18,7 @@ * 02110-1301, USA */ -/** +/* * @file fluidsynth_priv.h * * lightweight part of fluid_sys.h, containing forward declarations of fluidsynth's private types and private macros From 89ffe5881defc9fa878606fa59fb33f777a55488 Mon Sep 17 00:00:00 2001 From: derselbst Date: Fri, 15 Mar 2019 20:30:02 +0100 Subject: [PATCH 3/5] fix a memory leak in new_fluid_thread() --- src/utils/fluid_sys.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/utils/fluid_sys.c b/src/utils/fluid_sys.c index 4a9babe1..6536b22f 100644 --- a/src/utils/fluid_sys.c +++ b/src/utils/fluid_sys.c @@ -945,7 +945,7 @@ fluid_thread_t * new_fluid_thread(const char *name, fluid_thread_func_t func, void *data, int prio_level, int detach) { GThread *thread; - fluid_thread_info_t *info; + fluid_thread_info_t *info = NULL; GError *err = NULL; g_return_val_if_fail(func != NULL, NULL); @@ -982,25 +982,21 @@ new_fluid_thread(const char *name, fluid_thread_func_t func, void *data, int pri #endif } + else + { #if NEW_GLIB_THREAD_API - else - { thread = g_thread_try_new(name, (GThreadFunc)func, data, &err); - } - #else - else - { thread = g_thread_create((GThreadFunc)func, data, detach == FALSE, &err); - } - #endif + } if(!thread) { FLUID_LOG(FLUID_ERR, "Failed to create the thread: %s", fluid_gerror_message(err)); g_clear_error(&err); + FLUID_FREE(info); return NULL; } From 9be693d9bc87807d471556edb549f98ce688a608 Mon Sep 17 00:00:00 2001 From: derselbst Date: Fri, 15 Mar 2019 20:32:29 +0100 Subject: [PATCH 4/5] add missing calls to delete_fluid_thread() even if they are currently a null-op --- src/drivers/fluid_alsa.c | 3 +++ src/drivers/fluid_oss.c | 2 ++ src/drivers/fluid_pulse.c | 1 + 3 files changed, 6 insertions(+) diff --git a/src/drivers/fluid_alsa.c b/src/drivers/fluid_alsa.c index b90172b8..8f2460a0 100644 --- a/src/drivers/fluid_alsa.c +++ b/src/drivers/fluid_alsa.c @@ -355,6 +355,7 @@ void delete_fluid_alsa_audio_driver(fluid_audio_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->pcm) @@ -757,6 +758,7 @@ delete_fluid_alsa_rawmidi_driver(fluid_midi_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->rawmidi_in) @@ -1210,6 +1212,7 @@ delete_fluid_alsa_seq_driver(fluid_midi_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->seq_handle) diff --git a/src/drivers/fluid_oss.c b/src/drivers/fluid_oss.c index 38d4a203..e5cfba6d 100644 --- a/src/drivers/fluid_oss.c +++ b/src/drivers/fluid_oss.c @@ -448,6 +448,7 @@ delete_fluid_oss_audio_driver(fluid_audio_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->dspfd >= 0) @@ -705,6 +706,7 @@ delete_fluid_oss_midi_driver(fluid_midi_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->fd >= 0) diff --git a/src/drivers/fluid_pulse.c b/src/drivers/fluid_pulse.c index ded534a5..f7a74dea 100644 --- a/src/drivers/fluid_pulse.c +++ b/src/drivers/fluid_pulse.c @@ -221,6 +221,7 @@ void delete_fluid_pulse_audio_driver(fluid_audio_driver_t *p) if(dev->thread) { fluid_thread_join(dev->thread); + delete_fluid_thread(dev->thread); } if(dev->pa_handle) From f9f826e8e27c41d89582b1cc0ddf0fabde0dacb7 Mon Sep 17 00:00:00 2001 From: derselbst Date: Sun, 17 Mar 2019 13:59:29 +0100 Subject: [PATCH 5/5] fix the default tempo of midi files the MIDI spec defines it to be 120 BPM, fixes #519 --- src/midi/fluid_midi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/midi/fluid_midi.c b/src/midi/fluid_midi.c index 38c2bf6e..a49a2e68 100644 --- a/src/midi/fluid_midi.c +++ b/src/midi/fluid_midi.c @@ -1676,7 +1676,7 @@ new_fluid_player(fluid_synth_t *synth) player->currentfile = NULL; player->division = 0; player->send_program_change = 1; - player->miditempo = 480000; + player->miditempo = 500000; player->deltatime = 4.0; player->cur_msec = 0; player->cur_ticks = 0; @@ -1760,7 +1760,7 @@ fluid_player_reset(fluid_player_t *player) player->ntracks = 0; player->division = 0; player->send_program_change = 1; - player->miditempo = 480000; + player->miditempo = 500000; player->deltatime = 4.0; return 0; }