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

Diff of /linuxsampler/trunk/ChangeLog

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

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

Legend:
Removed from v.1601  
changed lines
  Added in v.1943

  ViewVC Help
Powered by ViewVC