Commit Graph

2165 Commits

Author SHA1 Message Date
David Henningsson 76256628ce Fix profiling 2010-07-04 09:05:32 +00:00
David Henningsson 962f575949 Fix relwithdebinfo build for CMake 2010-07-04 09:05:06 +00:00
David Henningsson 3dfe5ae328 Fix bug in fluid_synth_get_gain 2010-07-03 13:04:04 +00:00
David Henningsson b4ee43c81b Fix race condition when trying to make several threads real-time simultaneously 2010-07-03 12:26:03 +00:00
David Henningsson 668901c737 Fix multiblock rendering for write_float and write_s16 2010-07-03 12:25:43 +00:00
David Henningsson 96d007ea64 Multi-core rendering 2010-07-03 12:25:16 +00:00
David Henningsson 710d46e9e8 Add settings for thread safety 2010-07-01 11:36:59 +00:00
David Henningsson 0fa019bab3 Optionally Mutex-protect fluidsynth's public API 2010-07-01 11:14:55 +00:00
David Henningsson d88dd7310b Remove unused object 2010-07-01 11:14:35 +00:00
David Henningsson 41853f6f69 Refactor/fix mixer implementation, fix a few bugs 2010-06-30 16:39:20 +00:00
David Henningsson a26b5a6117 Fixup previous commit 2010-06-29 14:44:29 +00:00
David Henningsson ac8533c193 Add sample update function 2010-06-29 14:03:44 +00:00
David Henningsson d5cd9dee7e Move even more files into subdirs 2010-06-29 10:28:38 +00:00
David Henningsson 5d9eade6e7 Move synth core to synth subdir 2010-06-28 20:49:01 +00:00
David Henningsson b79a3e1cbe Event queue for thread boundary, refactor ringbuffer, move some files to unused subdir 2010-06-28 20:03:12 +00:00
David Henningsson d5ab7a8f74 Create bindings and sfloader subdirs 2010-06-27 22:05:33 +00:00
David Henningsson 4856f6d647 Create new datatypes subdirectory 2010-06-27 22:04:27 +00:00
David Henningsson e3fd4984dd Split voice into soft and hard real-time parts 2010-06-26 15:02:58 +00:00
David Henningsson 335f21b697 Add d-bus support to CMake build system, and add howto to README.cmake. (Thanks, plcl!) 2010-06-25 11:12:49 +00:00
David Henningsson 277262b5ea Create subdirectories for drivers and rvoice, and update cmake build 2010-06-20 22:13:57 +00:00
David Henningsson 41717700a5 Refactor lfos into separate file 2010-06-20 06:53:20 +00:00
David Henningsson 933555f2ce Refactor volume and modulation envelopes into separate file 2010-06-20 06:53:00 +00:00
David Henningsson cb143c8fdf Refactor resonant filter into separate file 2010-06-20 06:52:37 +00:00
David Henningsson 6c0ef45e0e D-Bus and rtkit support 2010-06-11 08:23:36 +00:00
Pedro Lopez-Cabanillas a4977b83d6 commit test 2010-05-22 17:43:05 +00:00
Pedro Lopez-Cabanillas 06b672dec6 Updated svn:ignores 2010-05-04 10:26:40 +00:00
Pedro Lopez-Cabanillas 6d3234279a Patch by nshepperd, ticket #78. Segmentation fault in non-interactive mode. 2010-05-04 10:21:54 +00:00
David Henningsson ae09187308 Build issue with OSS on OpenSolaris, credits to laurent. Fixes ticket #74. 2010-04-18 19:47:12 +00:00
David Henningsson 3bf3818f9b Fix OpenSolaris / Sun Studio build issue, credits to laurent. Fixes ticket #73. 2010-04-18 19:32:15 +00:00
Pedro Lopez-Cabanillas 23778b05d6 Check correctly "mmsystem.h" in Windows 2010-04-10 10:45:44 +00:00
Pedro Lopez-Cabanillas 6624f6f2b7 CMake build system - initial implementation 2010-03-17 20:14:13 +00:00
Pedro Lopez-Cabanillas 079e437330 Fix overflow in fluid_curtime(), reported and diagnosed by Felix Krause. 2010-03-17 15:40:07 +00:00
Pedro Lopez-Cabanillas 420882ce2e Fix for fluid_handle_pitch_bend_range(). In ANSI C/C90, all declarations must precede statements in every block. An example of a C compiler following this rule is MSVC. 2010-03-16 19:42:15 +00:00
David Henningsson 57c78bc23a Bug fix for race condition - player_join exiting between files 2010-02-28 10:07:29 +00:00
David Henningsson 26f3119031 Fix typo, segmentation fault and support multiple instances of audio driver. Patch by KO Myung-Hun. 2010-02-11 18:01:47 +00:00
David Henningsson 8131539ad6 Implement pitch bend and pitch bend range as shell commands, contributed by "monk" 2010-01-17 09:50:53 +00:00
David Henningsson 663bb787bd Add options for auto-adjusting latency and media role. Change stream name to "FluidSynth output". 2010-01-01 09:05:38 +00:00
Josh Green a66d020aca Reverb and Chorus no longer queuing, to fix performance issues and now set under mutex. 2009-12-16 02:48:07 +00:00
Josh Green 93475f4d4c fluid_synth_program_change() wasn't working properly in regards to unsetting the preset, should be fixed now. 2009-12-14 19:06:59 +00:00
Josh Green 8aa1027115 Reverted bank and SoundFont ID queuing, now executed immediately using atomic instructions as previously.
Program number now uses 8 bits in the SoundFont ID/bank/program integer, where a value of 128 indicates an unset preset.
fluid_synth_unset_program() now causes preset to be unassigned until a program change occurs.
Updated units in documentation for fluid_player_set_midi_tempo().
2009-12-14 03:57:25 +00:00
David Henningsson b1f76f8b0c Update deltatime on midi file load (closes ticket #59) 2009-12-05 11:19:24 +00:00
Josh Green 39b542ad02 New README-OSX from Ebrahim Mayat for 1.1.1. 2009-11-29 04:12:52 +00:00
Josh Green 9e434ca8e0 Updated versions for 1.1.1 release. 2009-11-27 23:27:54 +00:00
Josh Green 2ee782a6cc Now setting shadow_preset parameter directly in fluid_channel_set_preset() which fixes crash bug where MIDI system reset event would cause shadow_preset and preset to get out of sync.
Reverted return queuing of program changes. Program changes are once again real-time unsafe.
Added public function fluid_synth_unset_program().
Renamed fluid_synth_get_channel_preset_info() to fluid_synth_get_channel_info().
Changed fluid_preset_info_t to fluid_synth_channel_info_t and moved to synth.h header.
Shell 'channels' command now uses thread safe fluid_synth_get_channel_info().
Removed fluid_synth_set_preset_LOCAL(), now just using fluid_channel_set_preset().
Added New In 1.1.1 section to developer docs.
2009-11-27 22:28:23 +00:00
David Henningsson 836a6b45d8 Recommit fix for voice stealing algorithm 2009-11-18 19:14:29 +00:00
Josh Green 35f5a739a2 Added events for bank select and SoundFont ID select and a payload structure for MIDI channel and integer values.
Return queue process is now a thread, instead of a timer, which blocks until signaled by synthesis thread.
fluid_synth_one_block() signals return queue process if any events are pending.
Program change messages are now queued via return event queue if they occur in synthesis context.
Changed fluid_synth_cc() to always queue when in non-synthesis context, no more exceptions.
fluid_synth_bank_select() and fluid_synth_sfont_select() now queue if called out of synthesis context.
Removed checks for synth->state == FLUID_SYNTH_PLAYING, since those functions shouldn't be getting called after state is changed to STOPPED (in delete_fluid_synth).
2009-11-17 08:13:23 +00:00
Josh Green 7758f5a630 Added public fluid_synth_get_channel_preset_info() function and fluid_preset_info_t structure.
Added shadow_preset field to fluid_channel_t which stores the last assigned preset (irrespective of queuing).
Presets now deleted under lock for shadow_preset functionality.
Marked fluid_synth_get_channel_preset() as deprecated.
2009-11-16 07:43:43 +00:00
Josh Green 50c88d392a Moved snd_pcm_nonblock call into new_fluid_alsa_audio_driver2() and out of audio run functions.
Removed unnecessary test of snd_pcm_state and call to snd_pcm_drop.
Removed SETCC macro in fluid_chan.c and replaced with fluid_channel_set_cc() which uses atomic op.
Removed invalid fluid_channel_set_cc() and fluid_channel_get_cc() function declarations (they were replaced with macros).
Added shadow_polyphony field to fluid_synth_t which is accessed via atomic ops by all threads, polyphony field is now only set by synthesis thread.
fluid_synth_cc() now sets cc channel field atomically and queues an update as needed.
synth_thread_id field assigned every call to fluid_synth_one_block().
fluid_synth_alloc_voice() now atomically accesses gain.
Fixed bug in fluid_timer_join() where timer->thread was set to NULL even if auto_destroy was enabled, but was at that point no longer in existence.
2009-11-15 02:34:24 +00:00
Josh Green 8f63cef0aa Actual checkin of -Wno-cast-qual warning inhibitor (wasn't actually checked in in r264).
Added example source files and fluidsynth-v11-devdoc.txt in doc/ to EXTRA_DIST.
Added work around in fluid_coremidi.c for OSX 10.4.
2009-11-07 03:26:19 +00:00
David Henningsson 7eeb88d42f fix unknown macro warning 2009-11-05 22:16:10 +00:00