/[svn]/linuxsampler/trunk/ChangeLog
ViewVC logotype

Diff of /linuxsampler/trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1541 by iliev, Tue Dec 4 18:09:26 2007 UTC revision 1897 by persson, Sun May 10 09:31:51 2009 UTC
# Line 1  Line 1 
1  Version CVS HEAD (?)  Version CVS HEAD (?)
2    
3    * packaging changes:    * packaging changes:
4        - autoconf bugfix: the PKG_CONFIG variable wasn't initialized properly,
5          causing e.g. the libgig test to fail when
6          "./configure --disable-jack-driver" was used
7          (patch by Alexis Ballier)
8        - fixed compilation with gcc 4.3
9        - fixes for building on OS X (thanks to Ebrahim Mayat for testing)
10        - fixed configure so it detects x86_64 (#107)
11        - fixes for building with newer MinGW versions
12        - fix for building with bison 2.4 (#111)
13        - fixed building with libgig installed in a non-standard directory
14        - minor fix in configure for mmsystem.h detection on MinGW
15        - Windows: look for editor plugins and Fantasia using base
16          directory of liblinuxsampler dll
17    
18      * general changes:
19        - bugfix: on some POSIX systems instrument editor plugins refused to
20          load as we used a non-portable Linux specific struct field
21          (fixes bug #70, patch by Ronald Baljeu)
22        - fixed endless loop which occured when loading an instrument editor
23          plugin DLL on Windows systems failed
24        - fixed memory leaks that occurred when liblinuxsampler was unloaded
25        - optimized the SynchronizedConfig class so it doesn't wait
26          unnecessarily long after an update
27        - added support for notifying instrument editors on note-on / note-off
28          events (e.g. to highlight the pressed keys on the virtual keyboard
29          of gigedit)
30        - added support for triggering notes by instrument editors (see above)
31        - be verbose on DLL load errors (on Linux)
32        - fixed di-harmonic triangle LFO implementation (this LFO implementation
33          is only used by very few systems, most pick the int math
34          implementation, which is usually faster)
35        - fixes for audio drivers with varying buffer sizes
36        - experimental support for running LinuxSampler as a DSSI, LV2 and
37          VST plugin
38        - notification events for stream/voice count statistics are now sent
39          only when there are actual changes
40        - added memory ordering constraints to improve stability on
41          multi-core and multi-cpu systems
42        - maximum voices and disk streams can now be altered at runtime
43        - fixed CPU feature detection on x86_64 (maybe fixes #108)
44        - automatic stacktrace mechanism is now turned off by default and can
45          be switched on by command line option "--stacktrace" (the automatic
46          stacktrace mechanism seems to be broken on most systems at the moment)
47        - C++ API method InstrumentManager::LaunchInstrumentEditor() now returns
48          a pointer to the launched InstrumentEditor object
49        - added optional 3rd party user data parameter for following
50          liblinuxsampler C++ API methods: InstrumentEditor::Main(),
51          InstrumentEditor::Launch(),
52          InstrumentManager::LaunchInstrumentEditor()
53        - theoretical fix: made SynchronizedConfig follow C++0x memory
54          model more strictly
55        - fixes for using large audio device buffers
56    
57      * audio driver:
58        - removed the nonsense audio channel constraint (which was hard coded to
59          max. 100 audio channels) for most audio drivers
60        - JACK audio driver did not offer a device parameter "SAMPLERATE" as
61          opposed to the LSCP specs
62        - bugfix: the SAMPLERATE parameter of some drivers (e.g. JACK)
63          reflected the wrong value
64        - fixed a memory management bug in ASIO driver
65        - Makefile fix: JACK_CFLAGS wasn't used
66        - JACK: use jack_client_open instead of the deprecated
67          jack_client_new
68        - added (experimental) CoreAudio driver
69        - applied old fixes to the ASIO driver that were included in the
70          previous binary release but accidentally never committed to CVS
71          (fixes #117)
72        - fixes for ASIO on mingw-w64 (iasio wrapper is not needed on
73          win64)
74        - VST: added support for sample rate and buffer size changes
75        - VST: close editor (Fantasia) when the VST is removed
76    
77      * MIDI driver:
78        - added JACK MIDI driver
79        - dispatch bank select as ordinary CC as well, the user might seriously
80          want to (mis)use it for some purpose ("fixed" in all current MIDI
81          input drivers: ALSA, CoreMIDI, JACK, MidiShare, MME)
82        - bugfix: pitch bend wasn't working with JackMidi, VST, LV2, MME,
83          CoreMidi or AU
84        - fixed mingw-w64 compilation error in MME driver
85    
86      * instruments database:
87        - avoid time consuming samples scanning when adding instruments
88          to the instruments database
89        - added support for handling lost files in the instruments database
90        - Implemented option for adding instruments in separate directories
91          in the instruments database
92          (patch by Chris Cherrett & Andrew Williams, a bit adjusted)
93    
94      * Gigasampler format engine:
95        - fixed a memory leak that could happen when a channel was deleted
96          while notes were playing
97        - made it possible to load an instrument even if the audio thread
98          isn't running
99        - added partial support for the "Controller Triggered" MIDI rule,
100          enough for piano gigs with pedal noise samples
101        - minor fix: only mark FX sends as being modified if really the
102          respective FX send MIDI controller was used
103        - added support for GM global device volume SysEx message
104          (can be selected at compile time to either apply globally to the
105          whole sampler [default] or only to the sampler channels that are
106          connected to the respective MIDI input port the SysEx message arrived
107          on)
108        - bugfix: notes triggered at position 0 in the audio buffer were
109          sometimes wrongly killed in the same buffer, causing no sound to
110          be played
111        - added support for chromatic / drumkit mode Roland GS Sysex message
112          which is usally used to switch a part between chromatic sounds and
113          drumkit sounds (as opposed to their common default setting of MIDI
114          part 10 being a drumkit part and all other ones chromatic parts), in
115          LS however one can switch between the first 16 MIDI instrument maps
116          defined for the sampler
117        - made it possible to create multiple sample channels even if the
118          audio thread isn't running
119        - fixed crash when removing channel with active voices (#116)
120        - bugfix: on sample reference changes (instrument editor), only
121          un-cache the respective sample if it's really not used by any
122          sampler engine anymore
123        - re-cache samples in case they were changed by an instrument editor,
124          e.g. when a sample was added while playing (#82)
125        - fixed hanging notes which occured when note-off event had the exact
126          same time stamp as the voice's note-on event and occured both in the
127          same audio fragment cycle (fixes bug #112)
128        - added support for the "fine tune" and "pitch bend range"
129          instrument-level gig parameters
130        - fixed minor artifacts in pitch bend handling
131        - added support for GS Reset SysEx message
132        - allow gig files to use unlimited downward pitch shifting
133        - added a limit check for upward pitch shifting
134    
135      * LSCP server:
136        - added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
137          react on MIDI data arriving on certain sampler channels (so far only
138          Note-On and Note-Off events are sent via this LSCP event)
139        - added new LSCP event "DEVICE_MIDI" which can be used by frontends to
140          react on MIDI data arriving on certain MIDI input devices (so far only
141          Note-On and Note-Off events are sent via this LSCP event)
142        - added new LSCP commands: FIND LOST DB_INSTRUMENT_FILES and
143          SET DB_INSTRUMENT FILE_PATH
144        - added new LSCP command: SEND CHANNEL MIDI_DATA which can be used by
145          frontends to send MIDI messages to specific sampler channel
146        - added two additional fields to GET FILE INSTRUMENT INFO command -
147          KEY_BINDINGS and KEYSWITCH_BINDINGS
148        - bugfix: the bank number provided by MIDI_INSTRUMENT_INFO notifications
149          was incorrect
150        - Optimized the retrieval of the MIDI instrument mappings
151        - added new LSCP command "SET VOICES" to globally alter the maximum
152          amount of voices, added new LSCP event "GLOBAL_INFO:VOICES" which will
153          be triggered respectively
154        - added new LSCP command "SET STREAMS" to globally alter the maximum
155          amount of disk streams, added new LSCP event "GLOBAL_INFO:STREAMS"
156          which will be triggered respectively
157        - bugfix: retry if "select" returns EINTR (this fixes a crash when
158          a gigedit file dialog is opened)
159        - close all connections when LSCPServer is deleted
160        - hard close of all sockets on exit
161        - bugfix: SET CHANNEL MIDI_INPUT_TYPE didn't work with the MME
162          driver
163    
164      * Bug fixes:
165        - fixed a crash which occurs when removing a sampler channel waiting
166          to start instrument loading after another channel
167        - fixed a crash which occurs when removing a sampler channel with
168          instrument loading in progress (bug #113)
169        - fixed termination caused by uncaught exception when adding MIDI
170          instrument with PERSISTENT load mode
171        - fixed possible iterator invalidations when resetting the sampler
172        - fixed memory leaks when issuing the following LSCP commands:
173          GET AUDIO_OUTPUT_DRIVER INFO
174          GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO
175          GET MIDI_INPUT_DRIVER INFO
176          GET MIDI_INPUT_DRIVER_PARAMETER INFO
177        - fixed possible compilation error when sqlite is not present
178        - fixed orphaned pointers when setting maximum voices limit (bug #118)
179        - fixed crash when changing the audio output device of a sampler
180          channel with loaded instrument and start playing notes
181        - fixed endless loop in Engine::SuspendAll() (bug #120)
182        - fixed a low-level atomic load function that was broken on 64-bit
183          PowerPC, which probably could cause crashes on that platform
184        - fixed a memory management error which could cause a crash when a
185          plugin was unloaded
186        - bugfix: two private structs had the same name, which could cause
187          problems if the linker chose the wrong constructor
188    
189    
190    Version 0.5.1 (6 December 2007)
191    
192      * packaging changes:
193      - added autoconf checks for pthread library      - added autoconf checks for pthread library
194      - added autoconf check for pthread bug found on certain NPTL-enabled      - added autoconf check for pthread bug found on certain NPTL-enabled
195        glibc versions (see Gentoo bug report #194076)        glibc versions (see Gentoo bug report #194076)

Legend:
Removed from v.1541  
changed lines
  Added in v.1897

  ViewVC Help
Powered by ViewVC