forked from FluidSynth/fluidsynth
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1693 lines (1290 loc) · 71.3 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file is no longer used. For detailed Changelog information, please refer to the
version control system's commits. For an overview of differences between versions,
see:
https://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_2
https://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_1
etc.
For developer related "What's new"-information, doc/fluidsynth-v11-devdoc contains
valuable information.
=== OLD ===
2009-05-01 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* configure.ac: fix for win32 build.
2009-05-01 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* doc/Doxyfile: added fluid_filerenderer.c to Doxygen documentation.
* doc/fluidsynth-v11-devdoc.txt: license changed to CC-BY-SA 3.0
* doc/fluidsynth_arpeggio.c: new example added.
* doc/fluidsynth_metronome.c: new example added.
* include/fluidsynth.h, include/fluidsynth/audio.h,
include/fluidsynth/settings.h: Doxygen documentation.
* src/fluid_settings.c: Doxygen documentation.
2009-04-27 Josh Green <jgreen@users.sourceforge.net>
* include/fluidsynth/audio.h: Moved new filerenderer documentation to source file.
* src/config_win32.h.in: Added 'typedef int socklen_t;' to the correct place.
* src/fluid_filerenderer.c: Removed 2 extra pasted duplicates of the file, moved
Doxygen documentation from header file and added "API 1.1.0" designators.
* src/config_win32.h: Removed from subversion, since it is generated from
config_win32.h.in.
2009-04-26 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Added glib 2.10 as a dependency, added notes in output
for LASH, LADCCA and READLINE that they are GPL.
* src/fluid_io.c: Moved code to fluid_sys.c and removed.
* src/config_win32.h: Added "typedef int socklen_t" definition.
* src/fluid_defsfont.h: Removed glib ripped code.
* src/fluid_oss.c: Fixed warnings where return value of write() was
being ignored.
* src/fluid_sys.c: Re-organized, implemented portable fluid_curtime() and
fluid_utime() using glib functions and removed old platform specific
code, implemented fluid_thread functionality using glib and removed
old platform specific code, fluid_istream_readline(), fluid_istream_gets()
and fluid_ostream_printf() should now work on WIN32 also, added code
for WIN32 for TCP sockets (not yet tested).
* src/fluid_sys.h: Added fluid_gerror_message() macro to extract message
safely from GError structures, replaced fluid_mutex macros with
portable implementations using glib, removed new_fluid_client_socket()
and delete_fluid_client_socket() which were never implemented or used.
* src/fluidsynth.c: Added call to g_thread_init().
* src/fluidsynth_priv.h: Integer types now use glib integer types.
2009-04-11 Josh Green <jgreen@users.sourceforge.net>
* FluidSynth release 1.0.9 "A Sound Future"
* configure.ac: Bumped version, no library interfaces added, removed or changed.
* doc/Makefile.am: Removed html and api folders from EXTRA_DIST.
* src/fluid_synth.c (fluid_synth_program_change): Preset substitute warning
now outputs MIDI channel.
2009-04-02 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* src/config_win32.h: fix compilation under MSVC 2008 and older
2009-03-15 Josh Green <jgreen@users.sourceforge.net>
* ltconfig: Removed obsolete ltconfig script by suggestion of
Sven Hoexter.
* doc/fluidsynth.1: Some fixes from Sven Hoexter.
* src/fluid_adriver.c: Re-order of default drivers to jack, alsa, pulse.
* src/fluidsynth.c (fluid_synth_program_change): Added preset selection
fallback logic: Melodic - Fallback to Bank0:prognum followed by
Bank0:Program0, Percussion - Fallback to 128:0, code re-organization.
2009-03-08 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_jack.c: Added support for Jack MIDI.
* src/fluid_mdriver.c: Registered Jack MIDI driver.
* README-OSX: Update from Ebrahim Mayat.
2009-02-28 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* src/fluid_midi.c: Fix for ticket #22 (Wrong tempo changes)
* src/fluid_midi.h: delta-time accumulator moved to fluid_midi_file struct.
2009-02-03 Josh Green <jgreen@users.sourceforge.net>
* Applied patch from KO Myung-Hun for OS/2 support including Dart audio
driver.
2009-01-29 Josh Green <jgreen@users.sourceforge.net>
* src/Makefile.am: Added PortAudio driver conditional build.
* src/fluid_adriver.c: Registered fluid_portaudio_driver_settings.
* src/fluid_portaudio.c: Completely overhauled for Portaudio 19.
This driver appears to have been unbuildable before.
2009-01-08 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* configure.ac: detection of CoreMIDI support. Ticket #18.
* src/Makefile.am: conditional build of CoreMIDI driver.
* src/fluid_coremidi.c: Basic CoreMIDI driver.
* src/fluid_mdriver.c: added CoreMIDI driver.
2009-01-08 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Followed GTK's lead for some unexplained magic for
stupid libtool version parameters (fixes autogen.sh bomb on
undefined macro LT_REVISION/LT_CURRENT/LT_AGE). Added
AC_CONFIG_MACRO_DIR([m4]) as suggested by libtoolize.
* Makefile.am: Added ACLOCAL_AMFLAGS=-I m4 as suggested by libtoolize.
2008-12-23 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Added detection of PulseAudio driver.
* src/Makefile.am: Added conditional build of PulseAudio driver.
* src/fluid_adriver.c: Added PulseAudio driver and re-sorted drivers
by use preference.
* src/fluid_chan.c: Using MIDI enums for initializing channel CC values,
added supported for RPN GM MIDI messages Bend Range, Fine Tune and
Coarse Tune, added check for out of range NRPN parameters.
* src/fluid_midi.h: Added RPN enum midi_rpn_event.
* src/fluid_pulse.c: New PulseAudio driver.
2008-09-22 Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
* src/fluid_dsound.c: Fix for ticket #16 - dsound device can't be selected.
2008-09-07 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c (new_fluid_alsa_seq_driver): Patch from
Nicolas Boulicault to add ALSA sequencer midi.portname setting.
* src/fluid_conv.h: S. Christian Collins' patch - changed
FLUID_ATTEN_POWER_FACTOR from -531.509 to -200.0.
* src/fluid_defsfont.c (fluid_defpreset_noteon): S. Christian Collins'
patch - crash bug fix related to using certain modulators in a preset.
* src/fluid_mdriver.c: Pedro Lopez-Cabanillas' patch which adds a
midi.winmidi.device setting.
* src/fluid_mod.c: S. Christian Collins' patch - Stop forcing velocity
based filtering and a couple of calculation fixes to transform functions.
* src/fluid_synth.c: Nicolas Boulicault's patch to add midi.portname
setting.
(fluid_synth_program_change): added fix to properly search for a
percussion instrument
* src/fluid_synth.h: Changed FLUID_NUM_PROGRAMS to 128 and set
DRUM_INST_BANK to 128.
* src/fluid_voice.c (fluid_voice_write): S. Christian Collins' patch -
force velocity envelope value to be that of the previous stage when
switching from decay to sustain and filter calculation now uses
synthesizer baud rate rather than fixed at 44100.
(fluid_voice_update_param): S. Christian Collins' patch - Use multiplier
for GEN_ATTENUATION to be compatible with EMU10K1 cards.
* src/fluid_winmidi.c: Pedro Lopez-Cabanillas' patch which adds a
midi.winmidi.device option.
* src/fluidsynth.c: Nicolas Boulicault's patch which adds midi.portname
setting. Pedro Lopez-Cabanillas' patch which breaks out of argument
processing loop for non getopt option argument handling when a non
option is encountered and not using Readline.
2007-11-17 Josh Green <jgreen@users.sourceforge.net>
* FluidSynth release 1.0.8 "Its about funky time!"
* configure.ac: Bumped LT_REVISION and added call to AM_PROG_CC_C_O macro.
* Makefile: Updated fluidsynth.prj to fluidsynth.anjuta
* README-OSX: Update from Ebrahim Mayat for OS X Leopard
* acinclude.m4: Fixed embedded main function in AM_PATH_READLINE macro.
2007-11-11 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Added --enable-trap-on-fpe and --enable-fpe-check to
assist with Floating Point Exception debugging.
* src/fluid_chorus.c: Reverted the rest of the chorus "Effect level clip"
patch, until something better is devised.
* src/fluid_synth.c: Added support for trapping on Floating Point
Exceptions on GLIBC systems, to aid developers in tracking down FPEs
with gdb, removed buffer alignment hacks since they are no longer
needed (not using SSE currently).
* src/fluid_sys.c (fluid_time_config): Added check for a CPU freq
calculation of 0.0, since this test is inadequate to begin with and
was coming up as 0.0 on my laptop, causing a FPE. Will replace with
real timer functions, in the future.
* src/fluid_voice.c: Removed zap_almost_zero macro as it was buggy and
had issues which went away when gcc optimization was turned off and in
the case of !WITH_FLOAT was using abs() which is integer based and
would cause FPEs.
(fluid_voice_write): Removed a memory alignment hack and moved a call
to fluid_fpe_check() to a better location.
(fluid_voice_effects): Replaced zap_almost_zero with a call to fabs(),
added fluid_fpe_check() call.
* src/fluidsynth_priv.h: Removed FLUID_ALIGN16BYTE hack, as it is no
longer needed.
2007-11-10 Josh Green <jgreen@users.sourceforge.net>
* doc/fluidsynth.1: Updated man page with current command line options and other changes (minor).
* include/fluidsynth/synth.h: Reverted "Effect level clip" patch as it seems to cause chorus
count to have a much lessor effect.
2007-09-20 Josh Green <jgreen@users.sourceforge.net>
* Doc updates to AUTHORS and latest README-OSX from Ebrahim Mayat.
* src/config_win32.h.in: VERSION is now filled in at configure time.
* src/fluid_alsa.c (fluid_alsa_audio_run_s16): Fixed bug which was
causing weird crashes with QSynth when new_fluid_audio_driver2() when
audio meters were enabled (user data parameter was being used as a
fluid_synth_t instance). Synth instance is now no longer used in
this case (it was only used for 16 bit dithering before).
* src/fluid_oss.c: Fixed the same bug that was affecting ALSA driver.
* src/fluid_rev.c: Reverted to old commented out code in regards to
reverb level.
* src/fluid_synth.c (fluid_synth_dither_s16): Now no longer uses
fluid_synth_t instance, but accepts a pointer to an integer instead
for keeping track of dithering buffer index (all that the synth instance
was being used for).
* src/fluid_synth.c (fluid_synth_one_block): Reverted patch which
performs assignment of chorus and reverb levels in synthesis loop,
until a better scheme is devised (unnecessary CPU consumption).
* Added Visual Studio .sln and .vcproj files and some minor source
changes to get FluidSynth to build with it.
* Back-converted Visual Studio project to VC++ 6 project for users
using that build platform (not tested).
2007-09-02 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Removed SSE and longlong related switches (SSE support
removed for now and longlong is now always used).
* : Applied effect level clip patch from David Hilvert
see http://fluidsynth.resonance.org/trac/ticket/2.
* : Applied reverb damp scaling patch from David Hilvert
see http://fluidsynth.resonance.org/trac/ticket/3.
* src/fluid_dsp_float.c: No longer being #include'd and all interpolation
functionality has been re-written as separate functions, interpolating
around loops is now supported, effect (reverb/chorus/pan/filter) stuff
moved to fluid_voice.c.
* src/fluid_phase.h: 64 bit unsigned integers are now used for phase
index/fraction sample pointers, modified macros accordingly.
* src/fluid_voice.c: Removed SSE code, fluid_voice_init() renamed to
fluid_dsp_float_init() and moved to fluid_dsp_float.c. Effect related
functionality (reverb/chorus/pan/filter) moved from fluid_dsp_float.c
to fluid_voice.c. Some code re-formatting and comment cleanup. Loop
no longer requires padding surrounding it (fixes bug related to loop
point right on the end of the sample).
2007-08-18 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c: Added SND_SEQ_PORT_TYPE_MIDI_GENERIC back into the
ALSA sequencer port registration as it broke the use of playmidi
(thanks to Dave Serls for providing a patch and pointing this out).
2007-01-14 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c: Fixed evil bugs in ALSA driver where return value
of new fluid_alsa_handle_write_error() was not being checked correctly
causing successfully handled ALSA errors (underruns for example) to
terminate audio thread.
* src/fluid_synth.c: Using an inline roundi function to replace roundf
as per suggestion by Mihail Zenkov, 16 bit for dithering.
2006-12-10 Josh Green <jgreen@users.sourceforge.net>
Lots of documentation updates.
* doc/Doxyfile: No longer including functions by default, only those
listed in the listed header files.
* src/fluid_strtok.[ch]: Removed, since it was crap. Replaced with
fluid_strtok() in fluid_sys.c which doesn't require an allocated
tokenizing instance.
* src/fluid_alsa.c: Audio processing is more optimized in the case where
no user defined audio callback is used (removal of unneeded buffer copy),
fluid_alsa_handle_write_error() added for centralized ALSA audio error
handling,
* src/fluid_aufile.c: Now also doing 16 bit dithering.
* src/fluid_cmd.c: Removed use of old tokenizer instance.
* src/fluid_coreaudio.c: User defined callback function is now honored.
* src/fluid_defsfont.c: More leaks plugged (thanks to Paul Millar for
the patch), removed sfont_free_data() since sfont_close() should be
used instead (don't want to leak a file handle).
* src/fluid_midi_router.c: Took out uses of fflush() since sending a
line of text (with newline) should display it.
* src/fluid_oss.c: Using fluid_synth_dither_s16() in place of old
16 bit conversion code.
* src/fluid_settings.c: Replaced strtok stuff with new function, some
other improvements.
* src/fluid_synth.c (delete_fluid_synth): Turning off all voices so that
SoundFont data will be freed correctly (thanks to patch from
Paul Millar).
* src/fluid_sys.c (fluid_strtok): New function to replace old tokenizing
functions which required a token instance.
* src/fluidsynth.c: Warning message printed if a non option is not a
valid SoundFont or MIDI file (thanks to Nick Daly for the patch).
2006-11-22 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c (new_fluid_alsa_audio_driver2): Removed some ALSA
lib calls to set software parameters, which was likely causing the
100% CPU usage problem (not actually fixed in last update, not sure
which one is the culprit).
(fluid_alsa_seq_run): More changes in ALSA sequencer code, hopefully
it is right this time!
(delete_fluid_alsa_seq_driver): Memory leak fixed - wasn't freeing
array of sequencer file descriptors.
* src/fluid_chan.c: Memory leak fixes: Now deleting preset from channel
when channel is destroyed.
* src/fluid_cmd.c: Memory leak fix: strtok being deleted from command
shell when shell is destroyed.
* src/fluid_defsfont.c: Memory leak fixes: Freeing modulator lists in
preset and instrument zones, freeing zone names, freeing instruments
linked from preset zones, replaced use of "safe_malloc" with FLUID_MALLOC
macro, deleting instrument list in SFData, deleting samples in SFData,
freeing SFData structure.
* src/fluid_settings.c: Memory leak fix: freeing options in option
type settings.
* src/fluid_synth.c: Memory leak fixes: Freeing FX buffers and
right/left_buf.
2006-11-21 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c (new_fluid_alsa_audio_driver2): Modified all ALSA
calls to check return code error as "< 0" as per ALSA examples, sample
rate is now compared with what was expected and warning message displays
both values, if target sample rate wasn't set update the local
period_size variable (was causing 100% CPU consumption by ALSA, from
the resultant erroneous sw_params calls).
(fluid_alsa_audio_run_float): Using case statement for
error codes from snd_pcm_writen() for the sake of tidiness.
(fluid_alsa_audio_run_s16): Using case statement for error codes
from snd_pcm_writei() for the sake of tidiness, re-instated call
of device callback function that was broken with the dither patch
(don't want to break the API), now using new fluid_synth_dither_s16()
to convert floating point sample data to 16 bit with dithering.
(fluid_alsa_seq_run): Timeout in poll() call set to 100ms (from 1ms!),
snd_seq_event_input_pending is used to check if events are available
before calling snd_seq_event_input to prevent blocking, check of
snd_seq_event_input error code moved to the right location (bug fix).
* src/fluid_synth.h: Added dither_index parameter to fluid_synth_t
structure to allow for per synth dithering continuity.
* src/fluid_synth.c: Modified dithering to use new dither_index field
for per synth dithering continuity, fixed off by 1 error with
dithering index comparison, removed usage of roundf in dithering (is
it sufficient to just integer truncate?).
(fluid_synth_dither_s16): New function to perform dithering on
buffers of floating point sample data.
2006-11-20 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c: Applied dithering patch from Mihail Zenkov.
* src/fluid_synth.c: Applied dithering patch from Mihail Zenkov.
2006-03-04 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c (delete_fluid_alsa_audio_driver): Now calling
snd_pcm_close() to close the ALSA audio driver handle.
(fluid_alsa_seq_run): Check for -ENOSPC error was logicly inverted.
(new_fluid_alsa_seq_driver): Sequencer is now opened in blocking mode.
2006-02-20 Josh Green <jgreen@users.sourceforge.net>
* Fixed build error that occured when neither LASH or LADCCA are
present.
* Updated README-OSX from Ebrahim Mayat.
2006-02-18 Josh Green <jgreen@users.sourceforge.net>
* FluidSynth release 1.0.7 "Increasing Fluidity.."
* Removed spurious newlines from FLUID_LOG statements throughout.
* AUTHORS: Some cleanup and additions.
* src/fluid_lash.[ch]: Moved LADCCA related code from fluidsynth.c here
and added new LASH support (both old LADCCA and LASH are supported
exclusively). Used patches sent by Frieder Bürzele as a guide.
* src/fluidsynth.c: Removed LADCCA code (now in fluid_lash.c),
re-organized command line parsing and removed duplicate WIN32 switch
statement, re-organized help output and added missing entries, added
"-o help" switch for listing settings, welcome message now printed
whenever FluidSynth is run and simplified,
(print_usage): hard coded application name as "fluidsynth".
* configure.ac: Changed --enable-SSE option to --enable-broken-SSE
and --enable-SSE now just displays a fat warning about not using it.
* src/fluid_jack.c: Warning is now displayed if synth sample rate
doesn't match jackd.
* src/fluid_alsa.c: Added detection for ALSA sequencer buffer overrun
(-ENOSPC) and interrupted poll() call (-1??).
* src/fluid_voice.c: Applied patch from Henri Manson which adds a
fluid_ct2hz_real() function which does not have the filter cutoff
limits that fluid_ct2hz() does, new function being used for
calculations that may include non-audible frequencies.
* src/fluid_dsound.c: Applied patch from Henri Manson which
only creates the directsound window once.
2005-09-04 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_ramsfont.c (fluid_ramsfont_remove_izone): Applied crash bug
fix from Antoine Schmitt.
2005-07-05 Josh Green <jgreen@users.sourceforge.net>
* src/fluidsynth_priv.h: FLUID_ALIGN16BYTE is broken on AMD64 so now
only enabled if SSE is being used. If SSE code becomes more useful in
the future this should be fixed.
2005-06-29 Josh Green <jgreen@users.sourceforge.net>
* Applied LASH patch that is included with ladcca-0.4.0.
2005-06-11 <jgreen@users.sourceforge.net>
* Released FluidSynth 1.0.6 "Music to my ears"
* README-OSX: Update from Ebrahim Mayat.
* acinclude.m4: Midishare support now defaults to auto.
* configure.ac: Added LT_CURRENT, LT_REVISION and LT_AGE in place of
LIBFLUIDSYNTH_MAJ and LIBFLUIDSYNTH_MIN to make better use of
libtool library versioning. Fixed use of AC_ARG_ENABLE (was setting
variables to yes even when disable was specified), fixes --disable-SSE
which was reported by Mikhail Yakshin, added warning when SSE is
enabled to let users know that this feature isn't really desirable
currently.
* src/Makefile.am: Now using LT_VERSION_INFO to substitute the libtool
version.
* src/fluid_cmd.c (fluid_cmd_handler_handle): Modified to avoid GCC
"type-punned" cast warning.
* src/fluid_defsfont.c (fluid_preset_zone_import_sfont): Fixed
assignment of modulator amtsrc flags (should be assigned to flags2
not flags1), thanks to Stephan Tassart for reporting this.
(fluid_inst_zone_import_sfont): Same fixes as for above.
* src/fluid_sys.c (fluid_log): Now using vsnprintf for formatting
error messages to fix buffer overflow as reported by Axioplase.
(fluid_debug): Same as above.
2005-06-11 <jgreen@users.sourceforge.net>
* fluidsynth.prj: Added Anjuta project file.
* src/fluid_conv.c: fluid_cb2amp conversion set back to real centibels
and added a new fluid_atten2amp table conversion for non-standard
EMU 8k/10k attenuation.
* src/fluid_voice.c (fluid_voice_write): Updated volume calculations to
use fluid_cb2amp for envelope and LFO, but use fluid_atten2amp for
initial attenuation.
(fluid_voice_noteoff): Re-coded volenv_val attack conversion and
verified.
2005-06-10 <jgreen@users.sourceforge.net>
* src/fluid_phase.h: Patch from Sean Bolton to fix big endian long long
phase combined 64 bit value type fluid_phase_t
* src/fluid_voice.c (fluid_voice_update_param): case GEN_OVERRIDEROOTKEY
was incorrectly adding pitchadj fine tune amount instead of subtracting
it. Also, fine tuning should be applied to root key override as well.
2005-06-07 <jgreen@users.sourceforge.net>
* Applied Sean Bolton's DSSI patch (SB patch) which adds the ability to
change polyphony at runtime and fixes a bug (see below).
* README-OSX: Update from Ebrahim Mayat for OSX Panther.
* include/fluidsynth/synth.h: Sean Bolton's DSSI patch adds two new
functions fluid_synth_set_polyphony and fluid_synth_get_polyphony.
* src/fluid_conv.c: Centibel to amplitude conversion now follows
EMU 8k/10k which is contrary to SoundFont specification (TiMidity++
used as an example).
* src/fluid_conv.h: FLUID_CB_POWER_FACTOR defined for the centibel->amp
conversion table equation.
* src/fluid_defsfont.c (load_pgen): Fixed 'use of cast expressions as
lvalues is deprecated' warning by casting the value being assigned
instead of the variable assigned to and removed code warrior
specific code to work around this.
(load_igen): Same as for load_pgen.
* src/fluid_synth.c: SB patch - uses synth->polyphony instead of
synth->nvoice when iterating over the synth's voices.
(fluid_synth_update_polyphony): SB patch (new) - runtime update
(fluid_synth_set_polyphony): SB patch (new)
(fluid_synth_get_polyphony): SB patch (new)
(fluid_synth_nwrite_float): SB patch - fixes bug where the use of
arbitrary values of the 'len' parameter was broken.
* src/fluid_voice.c (fluid_voice_write): modlfo_to_vol (modulation LFO
to volume) was being calculated inverted (should be negative
attenuation, gain, for a positive rise in LFO).
(fluid_voice_noteoff): Updated centibel to amplitude conversion
used when voice off during attack to use the new
FLUID_CB_POWER_FACTOR.
2004-11-11 <jgreen@users.sourceforge.net>
* README-OSX: Update from Ebrahim Mayat.
2004-08-18 <peter@hanappe.com>
* src/fluid_synth.c (fluid_synth_set_bank_offset):
(fluid_synth_get_bank_offset): New API to set
a bank offset in a SoundFont (proposition made by Ken Ellinwood).
2004-08-06 <peter@hanappe.com>
* src/fluid_synth.c (fluid_synth_noteon):
fluid_synth_release_voice_on_same_note() is now called in the
noteon() function instead of in fluid_synth_start(). This fixes
the silent note problem!
2004-07-29 <peter@hanappe.com>
* src/fluid_chan.c (fluid_channel_cc): Applied Ken Ellinwood's
fix for the bank select (MSB) message.
* src/fluid_jack.c (fluid_jack_audio_driver_settings): Applied Rui
Nuno Capela's patch
2004-05-14 <peter@hanappe.com>
* doc/fluidsynth.1 (option): Fixed typo noted by Gerald Pye.
2004-05-14 Peter Hanappe <peter@hanappe.com>
* src/fluid_dsound.c (fluid_dsound_enum_callback): Applied Sergey
Pavlishin's patch. This path fix stack overflow during DirectSound
audio driver initialization.
2004-05-07 Peter Hanappe <peter@hanappe.com>
* src/fluid_synth.c (fluid_synth_remove_sfont): Added new function
2004-05-05 Peter Hanappe <peter@hanappe.com>
* src/fluid_alsa.c (new_fluid_alsa_seq_driver): The alsa driver
now opens several ports if the synthesizer is configured for more
than 16 MIDI channels.
* src/fluid_voice.c (fluid_voice_write): I removed the filter
on/off optimization. The filter is always on and serves as an
anti-aliasing filter.
2004-05-04 Peter Hanappe <peter@hanappe.com>
* src/fluid_synth.c (new_fluid_synth): The number of MIDI channels
now has to be a multiple of 16. The synth checks that this is the
case and changes the settings accordingly. I removed the sanity
checks for the min/max value of the number of MIDI channels since
this is already done by the settings object.
2004-03-30 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_voice.c (fluid_voice_write): Altered filter turn-off
optimization to not turn filter off once it has been
enabled. There is still a potential for a click when it gets
turned on though, which needs to be dealt with.
2004-03-30 Peter Hanappe <peter@hanappe.com>
* src/fluid_dsp_core.c: I've split up the dsp core file in three
files: fluid_dsp_simple.c, fluid_dsp_float.c, and
fluid_dsp_sse.c. This improves the readability.
2004-03-29 Peter Hanappe <peter@hanappe.com>
* src/fluid_jack.c (new_fluid_jack_audio_driver2): Testing the
number of ports before allocating them.
(fluid_jack_audio_driver_settings): Registering
the "audio.jack.autoconnect" setting.
* src/fluid_midi.c (fluid_player_set_midi_tempo): Tempo changes
handled correctly. Was broken after fix on [2004-03-22] (see
below).
* src/fluid_strtok.c (fluid_strtok_char_index): Removed printf's
from fluid_strtok.c
2004-03-26 Peter Hanappe <peter@hanappe.com>
* bindings/README: Imported the fluidsynth_jni and fluidmax
projects.
2004-03-25 Peter Hanappe <peter@hanappe.com>
* src/fluid_rev.c (new_fluid_revmodel): Added 'gain', similar as
in Freeverb 3. Using same 'wetscale' as Freeverb 3, but fixing
'wet' to 3. fluid_revmodel_setlevel() does not change the value of
'wet': The 'wet' level can be controlled with the 'reverb send'.
(fluid_revmodel_processreplace): The input is multiplied by 2 and
by the gain. This corresponds to the channel mixing and scaling
that Freeverb 3 does.
2004-03-24 Peter Hanappe <peter@hanappe.com>
* src/fluidsynth.c (main): Added the -f switch. Passing "-f file"
on the command line tells fluidsynth to read parse the file and
execute and commands.
(main): User config and system config file are now loaded correctly
* src/fluid_cmd.c (fluid_shell_run): the shell doesn't get stuck
and loop on an emtpy string when the end of the stream is reached.
* src/fluid_io.c (fluid_istream_gets): fluid_istream_gets()
returns 0 if the end of the stream was reached and -1 on error.
* src/fluid_cmd.c (fluid_source): Fixed bug in "file =
open(filename, FLAGS);" (I shouldn't pass O_WRONLY when what I
want is O_RDONLY!)
2004-03-23 Peter Hanappe <peter@hanappe.com>
* src/fluid_aufile.c (new_fluid_file_audio_driver): Added
fluid_aufile.c. This file implements a audio driver that writes
the audio output to a file. This driver is NOT real-time and is
currently useful for testing purposes only (not even useful to
play MIDI files).
2004-03-22 Peter Hanappe <peter@hanappe.com>
* src/fluid_synth.c (new_fluid_synth): Removed the synth->busy
mutex. I don't think it is necessary; to be discussed.
* src/fluid_midi.c (fluid_player_callback): Fixed the timing in
the MIDI playback. The current MIDI tick in every timer callback
was calculated as an increment to the previous number of
ticks. This introduces a growing error due to rounding errors and
timer variations. The current tick is now calculated according to
the absolute time at the beginning of the file. (Beginners error
...)
* doc/FluidSynth-LADSPA.pdf: Added Markus' LADSPA design document.
* doc/xtrafluid.txt: Added Antoine's Xtra API documentation.
* doc/midi_time.txt: Added a memo on midi timing.
2004-03-19 Peter Hanappe <peter@hanappe.com>
* src/fluid_midishare.c: Applied Stephane Letz patch: MidiShare is
now connected to fluidsynth by default so that received MIDI
events directly trigger the synth
2004-02-28 Peter Hanappe <peter@hanappe.com>
* src/fluid_synth.c: Added fluid_synth_program_select2() and
fluid_synth_get_sfont_by_name() in fluid_synth.c. These functions
are not in the public API, yet.
2004-02-25 Peter Hanappe <peter@hanappe.com>
* src/fluid_voice.c: Fixed bug in volume envelope (in
fluid_voice_update_param(), case GEN_VOLENVDECAY): the minimum
value was converted to linear amplitude instead of a normalized
value of the cB (1-cB/1000). Because of that, the decay section
went on for too long.
2004-12-xx Peter Hanappe <peter@hanappe.com>
* src/fluid_seq.c: Inserting events in the queueLater list was
incomplete. It didn't check if the event was the last in the list,
and the looping through the list didn't update the prev pointer. I
added muteces to the sequencer. Events are dynamically allocated
if no free events are available. The sequencer is protected by a
mutex.
2003-11-14 Josh Green <jgreen@users.sourceforge.net>
* src/fluidsynth.c: Removed CCA_Use_Jack and CCA_Use_Alsa flags
since LADCCA no longer uses them.
2003-08-31 Josh Green <jgreen@users.sourceforge.net>
* acinclude.m4: Renamed AC_SOUND macro to AC_OSS_AUDIO and removed
the ALSA check from it since pkg-config is now being used to check
for ALSA. Also fixed --enable-alsa-support and --enable-oss-support
which were disabling support instead (reported by Bart Massey).
* configure.ac: pkg-config is now being used to check for ALSA.
ALSA and OSS now use automake conditionals to conditionally compile
source files.
* Makefile.am: Re-arranged SUBDIRS so build output looks nicer.
* src/Makefile.am: ALSA and OSS are now conditionally compiled using
automake conditionals.
2003-08-29 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_sys.c: Patch from Eric Van Buggenhaut to make i386 asm
code not compile for all non-i386 archs rather than just DARWIN.
* src/fluidsynth_priv.h: Patch from Sergey Pavlishin to fix
FLUID_REALLOC macro.
* src/fluid_cmd.c: Ken Ellinwood's patch to add -verbose to "channels"
command, and print settings values with 3 decimal places.
* src/fluid_defsfont.c (fluid_defsfont_sfont_get_preset): Ken
Ellinwood's patch to initialize sfont field of preset.
* src/fluid_ramsfont.c (fluid_ramsfont_sfont_get_preset): Ken
Ellinwood's patch to initialize sfont field of preset.
* src/fluid_midi.c (fluid_midi_file_read_event): Fixed a crash bug with
zero length MIDI meta events that was pointed out by Sergey Pavlishin.
(delete_fluid_midi_event): Fixed a stack overflow problem pointed out
by Sergey Pavlishin that was caused by recursively deleting MIDI
event linked list, now just using a while loop.
2003-08-25 Josh Green <jgreen@users.sourceforge.net>
* src/fluidsynth.c: MIDI channels switch should be -K not -L as was
listed in "Usage" output, also -K was setting audio.channels for
non getopt case statement - changed to midi.channels. Added a new
option "-l, --disable-ladcca" to disable LADCCA server connection.
2003-08-25 Josh Green <jgreen@users.sourceforge.net>
Release version 1.0.3
* doc/fluidsynth.1: Applied typo patch from Eric Van Buggenhaut.
* TODO: Restructuring TODO file (removing old stuff).
* doc/Doxyfile: Disabled Tex doxygen generation and changed
OUTPUT_DIRECTORY to api/.
* doc/Makefile.am: Added an update-docs target and related for updating
developer doc and doxygen reference HTML. Also added update-docs to
dist-hook for updating before distribution packaging.
* include/fluidsynth/synth.h: Some fixes to doxygen documentation.
* fluidsynth.spec.in: New RPM spec file which is generated at configure
time.
* Makefile.am: Added fluidsynth.spec(.in) to EXTRA_DIST.
2003-08-19 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c: Added some calls to snd_strerror() to print out
details of ALSA routine failures.
* src/fluid_defsfont.c: Put a message about SoundFont loading code
being borrowed from Smurf SoundFont Editor.
* src/fluid_rev.c: Valgrind found that some values were being used
uninitialized because fluid_revmodel_update() was being called before
all reverb parameters were set, now setting manually and then calling
update routine.
* src/fluid_voice.c: Increased FLUID_MAX_AUDIBLE_FILTER_FC to minimize
clicks from filter toggling. Added a FLUID_MIN_VOLENVRELEASE constant
to set the minimum volume envelope release to minimize clicks.
2003-07-22 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_midishare.c: Added include of header "config.h" as
per Albert Graef's request.
* src/fluid_voice.c (fluid_voice_optimize_sample): Moved a
variable declaration to the beginning of function, it was
causing problems with at least one user.
2003-06-28 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_defsfont.c: Moved call to fluid_voice_optimize_sample
from fluid_inst_zone_import_sfont to fluid_defsfont_load. Also
reduced minimum sample size before rejection from 48 to 8 (could
be lower?).
* src/fluid_voice.c (fluid_voice_optimize_sample): Added a check
for sample->valid to ignore ROM samples which was causing a crash
with Vintage Dreams and other SoundFont files with ROM samples.
2003-06-17 Josh Green <jgreen@users.sourceforge.net>
Release version 1.0.2
Added Makefile.am files where lacking.
* Makefile.am: Fixes to "make dist" target by adding macbuild, sf2
and winbuild to SUBDIRS also removed acconfig.h from EXTRA_DIST.
* acinclude.m4: Removed AC_JACK, now using pkgconfig.
* configure.ac: Updated to version 1.0.2, Jack test now using
pkgconfig and built by default if found, coreaudio driver now built
by default if found.
* doc/Makefile.am: Added Doxyfile, example.c, example.sf2, fluidsynth.1
and fluidsynth-v10-devdoc.xml to EXTRA_DIST.
* src/Makefile.am: fluid_jack.c now conditionally built, fluid_sse.h
added to EXTRA_DIST.
* src/fluid_jack.c: #if JACK_SUPPORT removed as its not needed.
2003-06-15 Josh Green <jgreen@users.sourceforge.net>
* configure.ac: Fixed detection of CoreAudio by looking for
CoreAudio/AudioHardware.h.
* src/Makefile.am: Added COREAUDIO_CFLAGS and COREAUDIO_LIBS.
* src/fluid_coreaudio.c: Added CoreAudio prefix to #include headers
(fluid_core_audio_callback): Fixed declarition to match that of the
typedef in CoreAudio header to stop warnings.
* fluidsynth.c: Now including fluidsynth_priv.h to include the arch
specific definitions in there (perhaps should be done in configure
script though).
* fluidsynth_priv.h: Added "#define WITHOUT_SERVER 1" to Darwin build.
2003-06-12 Josh Green <jgreen@users.sourceforge.net>
* Makefile.am: Added autogen.sh to EXTRA_DIST
* acinclude.m4: Added AM_PATH_READLINE macro for readline detection
and prefix configuration.
* configure.ac: Support for MinGW32 build, Darwin build fixes,
configure CFLAGS input value now honored, fixes to CoreAudio support,
and better readline detection and config.
* src/Makefile.am: Now conditionally compiling CoreAudio and Windows
sources, added config_*.h files to EXTRA_DIST, some stuff for MinGW32
build, READLINE_LIBS and READLINE_CFLAGS now used.
* src/fluid_dsound.c: Fixed some warnings by adding "void" for
empty parameter procedure declarations.
* src/fluidsynth.c: Don't include config_win32.h if MinGW32.
* src/fluidsynth_priv.h: Stuff for MinGW32 and Darwin builds.
* doc/fluidsynth-v10-devdoc.xml: Applied a diff from
Alexandre Prokoudine.
2003-06-09 Josh Green <jgreen@users.sourceforge.net>
* src/fluid_alsa.c: Added calls to pthread_attr_setschedparam to
properly create SCHED_FIFO threads.
* src/fluid_oss.c: pthread_attr_setschedparam calls added.
* src/fluid_midishare.c: Patch update from Stephane Letz.
2003-05-29 root <mn@bongo>
* src/fluid_synth.c (fluid_synth_one_block): Added a mutex that
provides a small degree of protection against noteons / noteoffs,
when the audio thread is working.
* src/fluid_synth.h (struct _fluid_synth_t):
* src/fluid_voice.c (fluid_voice_optimize_sample):
2003-05-29 Markus Nentwig <nentwig@users.sourceforge.net>
* include/fluidsynth/voice.h: added fluid_voice_gen_incr to api
* src/fluidsynth.c: Added error message for command line parameter handling
* src/fluid_voice.c (fluid_voice_optimize_sample): Removed loop peak detection
at run time, because it caused dropouts. Now the sound font loader or application
is responsible to call fluid_voice_optimize_sample (if it doesn't, the turnoff optimization is
simply disabled).
1999-11-30 Antoine Schmitt <as@gratin.org>
* src/fluid_defsfont.c: inst_zone lokey is now properly inialized to 0
(it was not, leading to random lost noteons depending on memory
initialization)
2003-04-03 Peter Hanappe <peter@hanappe.com>
* src/fluid_rev.c: reverb parameters are clipped to their valid
range.
* src/fluid_alsa.c: using fluid_alsa_audio_run_s16 as default
function. This reduces the high CPU usage.
* src/fluid_voice.c (fluid_voice_write): filter interpolation done
over only 1 buffer to avoid filter instability
* src/fluid_chan.c (fluid_channel_init): bank number set to 128
for the drum channel
* src/fluid_midi.c (fluid_midi_file_read_event): Correctly reading
pitchbend value
2003-02-27 Josh Green <jgreen@users.sourceforge.net>
Updated automake files (automake 1.6).
* configure.ac: New version autoconf variables which get substituted
into include/iiwusynth/version.h.in.
* include/iiwusynth/version.h.in: Version defines that are filled in
by autoconf.
* src/Makefile.am: Fixed SOURCES including removing headers that are
now in include/iiwusynth/, added missing sources (iiwu_ramsfont.[ch],
iiwu_sfont.h) and added iiwu_dsp_core.c to EXTRA_DIST.
* doc/Makefile.am: Added iiwusynth.1 to EXTRA_DIST.
* include/iiwusynth.h: Added version.h.
* iiwusynth/Makefile.am: Added version.h to the installed headers.
2003-02-08 Markus Nentwig <nentwig@users.sourceforge.net>
* src/iiwu_ladspa.c: Added a very small signal at Nyquist
frequency. This fixes denormal number problems in some
plugins.
* src/iiwu_cmd.c (iiwu_shell_run): Now also invalid input lines
are added to the command line history. So the user can just scroll
up and fix them.
* src/iiwu_ladspa.c: Cleaned up error messages
* src/iiwu_dsp_core.c: Disabled SSE interpolation, because it is
slower than the normal code
* autogen.sh: Added a line, that checks for the presence of pkg-config in
autogen.sh.
Motivation: It took me some time to figure out what was wrong...
It produces some error message instead of an obscure error later
during ./configure, if pkg-config is not installed.
2003-02-07 Josh Green <jgreen@users.sourceforge.net>
Applied another Bob Ham LADCCA patch.
* src/iiwu_alsa.c: LADCCA patch: Now using a ladcca.enable setting.
* src/iiwu_jack.c: LADCCA patch: ladcca.enable setting and jack ports
are no longer auto connected unless audio.jack.autoconnect is set.
* src/iiwusynth.c: LADCCA patch: ladcca.enable and command line options
-j and --connect-jack-outputs to enable Jack autoconnect.
2003-02-05 Josh Green <jgreen@users.sourceforge.net>
Applied Bob Ham's LADCCA and pkgconfig patches.
* Makefile.am: pkgconfig patch.
* configure.ac: Renamed from configure.in as per new autoconf
standards. LADCCA configure switch and detection. FluidSynth.pc
pkgconfig file output.
* src/Makefile.am: LADCCA patch.
* src/iiwu_alsa.c [HAVE_LADCCA]: LADCCA patch: reports ALSA
sequencer client ID.
* src/iiwu_jack.c [HAVE_LADCCA]: LADCCA patch: reports JACK
client name.
* src/iiwusynth.c [HAVE_LADCCA]: LADCCA patch: connects to LADCCA
server, creates client thread, saves/restores SoundFont file state.
Used iiwu_sfont_get_name macro to get SoundFont file names contrary
to the patch. Should these macros be public? Included unistd.h
for usleep call (within HAVE_LADCCA).
2003-01-23 Josh Green <jgreen@users.sourceforge.net>
* src/iiwu_jack.c: Fixed a segfault bug caused by freeing jack
port names, when really only the port array should be freed,
jack reference docs are confusing on this matter!
* src/iiwu_voice.c (iiwu_voice_check_sample_sanity): Min loop size
and padding now set via constants IIWU_MIN_LOOP_SIZE and
IIWU_MIN_LOOP_PAD defined at top of iiwu_voice.c, and the values
were lowered to exceed SF spec requirements rather then just meet.
(iiwu_voice_write): Now using a constant IIWU_MAX_AUDIBLE_FILTER_FC
defined at the top of iiwu_voice.c to control the filter
cutoff optimization. Also added IIWU_MIN_AUDIBLE_FILTER_Q so
filter will only turn off if both cutoff and q are determined to be
inaudible. Filter optimization is much less noticeable when modulating.
2003-01-14 Markus Nentwig <nentwig@users.sourceforge.net>
* src/iiwu_ladspa.c: Adapted new command handler
* src/iiwu_midi_router.c (midi_dump_prerouter): Added forgotten
'flush' for event dump 'fprintf's
2003-01-01 Markus Nentwig <nentwig@users.sourceforge.net>
* src/iiwu_oss.c (new_iiwu_oss_audio_driver): Changed to callback function
* src/iiwu_alsa.c (new_iiwu_alsa_midi_driver): Changed to callback function
* src/iiwu_midishare.c (iiwu_midishare_midi_driver_receive): Partly done the same
* src/iiwu_winmidi.c (new_iiwu_winmidi_driver): To be done...
* src/iiwu_midi_router.c: Added
* src/iiwu_ladspa.c: Adapted to new settings system
* src/iiwu_adriver.c (iiwu_audio_driver_settings): Uses getint
instead of getnum for audio.period-size and audio.periods settings.
* src/iiwu_voice.c (iiwu_voice_write):
Ignore the valid flag for samples. Otherwise no sound is produced.
* src/iiwu_chan.c (iiwu_channel_cc): Fixed bank select (7-bit
instead of 8 bit)
2002-12-23 Peter Hanappe <peter@hanappe.com>
* src/iiwu_io.c (iiwu_istream_readline): new file (iiwu_io.c and
iiwu_io.c) to handle IO in the shell.
* src/iiwusynth.c (main): options to start TCP server.
* src/iiwu_cmd.c (new_iiwu_server): New structure and functions
(new_iiwu_shell): New structure and functions to improve command
interface.
(new_iiwu_cmd_handler): New structure and functions to improve command
interface.
* src/iiwu_sys.c (new_iiwu_server_socket): New structure and
functions
(new_iiwu_thread): New structure and
functions
2002-12-14 Peter Hanappe <peter@hanappe.com>
* src/iiwu_chan.c (iiwu_channel_cc): Handling NRPN messages (NRPN
system).
* src/iiwu_voice.c (iiwu_voice_update_param): Does more extensive
range checking because the NPRN system may produce out-of-range
values (NRPN system).
(iiwu_voice_set_param): New function to change
generator values (NRPN system).
* src/iiwusynth_priv.h (iiwu_clip): New macro
* src/iiwu_synth.c (iiwu_synth_set_gen): New function to change
generator values (NRPN system).
* src/iiwu_gen.c (iiwu_gen_map_nrpn): New function to map the NRPN
data input to the parameter range (NRPN system).
* src/iiwu_midi.c (iiwu_midi_file_read_event): Fixed metadata
buffer bug (alloc size 1 too small).
2002-12-10 Peter Hanappe <peter@hanappe.com>
* src/iiwu_dsound.c (iiwu_win32_destroy_window): Filled in the
empty lines...
* src/iiwusynth.h: Changes in the definition for iiwu_synth_sfload
and iiwu_synth_sfunload, New functions: iiwu_synth_sfreload,
iiwu_synth_get_sfont_by_id, and iiwu_list_insert_at. New 'id'
field in iiwu_font_t.
2002-12-08 Markus Nentwig <nentwig@users.sourceforge.net>
* src/Makefile.am: added iiwu_hash.c and iiwu_strtok.c to libiiwusynth_la_SOURCES
* src/iiwu_settings.c (iiwu_settings_init): Removed
multi_channel from the settings (replaced with audio_channels > 1)
* src/iiwu_settings.c (iiwu_settings_init): added audio_groups
setting. This is the number of individual channels generated from
the synth, and always equal to audio_channels, as long as the
LADSPA Fx unit is disabled. Otherwise it can be used (for
example) to separate even and odd MIDI channels, apply different Fx
and mix together to one stereo output.
src/iiwu_ladspa.c: Extended Fx unit to multigroup input, fx sends
and multiple audio output channels
2002-12-04 Peter Hanappe <peter@hanappe.com>
* src/iiwu_midi.c (iiwu_midi_file_read_event): the metadata buffer
is now dynamically allocated. What! Dynamic memory management
already existed in the sixties!
* src/iiwu_cmd.c (iiwu_handle_reset): New shell command. Sends
system reset.
* src/iiwu_cmd.c (iiwu_expand_path): New function to handle
filenames starting with '~'.