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

Diff of /linuxsampler/trunk/ChangeLog

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

revision 1908 by persson, Mon Jun 1 18:50:06 2009 UTC revision 2183 by persson, Sat Jun 11 17:53:32 2011 UTC
# Line 1  Line 1 
1  Version CVS HEAD (?)  Version CVS HEAD (?)
2    
3      * plugin changes:
4        - LV2 Persist + Files support (patch by David Robillard)
5    
6      * packaging changes:
7        - fixed building with newer MinGW-w64
8        - Mac OS X: support the new dir for Core Audio SDK
9        - Mac OS X: fixed building outside source directory
10        - made sure all source files for hostplugins are included when
11          doing "make dist"
12        - removed empty directories left from the cvs to svn migration
13    
14      * general changes:
15        - Refactoring: moved the independent code from
16          the Gigasampler format engine to base classes
17        - command line option '--profile' is currently disabled, since the
18          respective profiling code is currently broken
19        - Introduced support for optional environment variable
20          "LINUXSAMPLER_PLUGIN_DIR" which allows to override the directory
21          where the sampler shall look for instrument editor plugins
22          (patch by Luis Garrido, slightly modified).
23        - implemented Roland GS NRPN 1ArrH which allows to set volume per note
24        - implemented Roland GS NRPN 1CrrH which allows to set pan per note
25        - implemented Roland GS NRPN 1DrrH which allows to set reverb send per
26          note (in this implementation of the sampler its simply hard routed to
27          the 1st effect send of the sampler channel, no matter what the actual
28          effect type is)
29        - implemented Roland GS NRPN 1ErrH which allows to set chorus send per
30          note (in this implementation of the sampler its simply hard routed to
31          the 2nd effect send of the sampler channel, no matter what the actual
32          effect type is)
33        - implemented support for internal LADSPA effects
34        - raised limit of program change queue from 100 to 512
35          (as suggested by Alex Stone)
36    
37      * Gigasampler format engine:
38        - implemented the "round robin keyboard" dimension
39        - fixed round robin and random dimensions for cases when number of
40          dimension zones is not a power of two
41        - made round robin use a counter for each region instead of each
42          key
43    
44      * SFZ format engine:
45        - Initial implementation (not usable yet)
46        - added support for v2 multiple stage envelope generators
47        - added a fine-tuned v1 envelope generator instead of using the
48          one from the gig engine
49        - fixed memory leak and memory handling errors
50        - added support for trigger=first, trigger=legato and sw_previous
51        - allow non-numerical key values ("C#4" for example)
52        - "key" opcode now sets pitch_keycenter too
53        - fixed error when unloading instrument with same sample used by
54          multiple regions
55        - added some opcode aliases, like loopmode for loop_mode, to be
56          more compatible
57        - added support for trigger=release and rt_decay
58        - added support for off_mode=normal
59        - added support for random, seq_position, seq_length and volume
60        - added v1 LFO opcodes to parser (no support in engine yet)
61        - added support for amp_veltrack and amp_velcurve_N
62        - fine-tuned the default velocity curve
63        - added support for transpose
64        - fixed crash when using sw_down/up
65        - improved logic for sw_lokey/hikey/up/down/last
66        - added more v1 aliases to parser
67        - reduced memory usage for sfz data
68        - RT-safeness: avoid malloc in audio thread
69        - fixed a bug that could cause voice stealing to fail
70        - optimized sample lookup
71        - improved support for exclusive groups (group, off_by and
72          off_mode)
73        - added support for controller triggered regions (on_locc/on_hicc)
74        - added support for loop_mode=one_shot
75        - fixed playback of 16 bit wav files on big endian CPUs
76        - added support for Ogg Vorbis sample files
77        - use loop markers from sample file if loop_start and loop_end are
78          not set in sfz file
79        - implemeted filters. Filter types: lowpass, bandpass, bandreject
80          and highpass. 1, 2, 4 and 6 pole filters. Opcodes: fil_type,
81          cutoff, resonance, fil_veltrack, fil_keytrack, fil_keycenter,
82          cutoff_cc, cutoff_chanaft.
83        - bugfix: zero ampeg_sustain didn't work
84        - added support for velocity effect on amplifier envelope time
85          (ampeg_vel2attack, ampeg_vel2decay, ampeg_vel2sustain and
86          ampeg_vel2release)
87    
88      * SoundFont format engine:
89        - Initial implementation (not usable yet)
90        - RT-safeness: avoid malloc in audio thread
91        - fixed a bug that could cause voice stealing to fail
92    
93      * Gigasampler format engine:
94        - bugfix: pitch LFO controller "internal+aftertouch" was broken
95        - bugfix: filter keyboard tracking was broken
96        - filter performance fix (an unnecessary copy was made of the
97          filter parameters in each sub fragment)
98    
99      * Host plugins:
100        - AU bugfix: failed to destroy its audio/MIDI devices
101        - Listen to all interfaces on Mac OS X (INADDR_ANY)
102        - VST bugfix: If the host called resume() before and after
103          changing sample rate or block size, the number of channels was
104          incorrectly set to two. This caused silence in Cubase 5.
105        - save engine type (gig, sfz or sf2) in plugin state
106        - VST: when opening Fantasia, look for both 32 and 64 bit Java on
107          64 bit Windows
108    
109      * MIDI driver:
110        - ALSA MIDI driver supports now "NAME" device parameter, for overriding
111          the ALSA sequencer client name
112        - removed limit of maximum amount of MIDI ports per MIDI device, since
113          there is no reason for this limit
114    
115      * audio driver:
116        - ASIO driver fixes for newer gcc versions (fix from PortAudio)
117    
118      * LSCP server:
119        - added support for sending MIDI CC messages via LSCP command
120          "SEND CHANNEL MIDI_DATA CC <sampler-chan> <ctrl> <val>"
121        - added LSCP command "GET AVAILABLE_EFFECTS"
122        - added LSCP command "LIST AVAILABLE_EFFECTS"
123        - added LSCP command "GET EFFECT INFO <effect-index>"
124        - added LSCP command "CREATE EFFECT_INSTANCE <effect-index>"
125        - added LSCP command
126          "CREATE EFFECT_INSTANCE <effect-system> <module> <effect-name>"
127        - added LSCP command "DESTROY EFFECT_INSTANCE <effect-instance>"
128        - added LSCP command "GET EFFECT_INSTANCES"
129        - added LSCP command "LIST EFFECT_INSTANCES"
130        - added LSCP command "GET EFFECT_INSTANCE INFO <effect-instance>"
131        - added LSCP command
132          "GET EFFECT_INSTANCE_INPUT_CONTROL INFO <effect-instance> <input-control>"
133        - added LSCP command "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE
134          <effect-instance> <input-control> <value>"
135        - added LSCP command "GET SEND_EFFECT_CHAINS <audio-device>"
136        - added LSCP command "LIST SEND_EFFECT_CHAINS <audio-device>"
137        - added LSCP command "ADD SEND_EFFECT_CHAIN <audio-device>"
138        - added LSCP command
139          "REMOVE SEND_EFFECT_CHAIN <audio-device> <effect-chain>"
140        - added LSCP command
141          "GET SEND_EFFECT_CHAIN INFO <audio-device> <effect-chain>"
142        - added LSCP command "APPEND SEND_EFFECT_CHAIN EFFECT <audio-device>
143          <effect-chain> <effect-instance>"
144        - added LSCP command "INSERT SEND_EFFECT_CHAIN EFFECT <audio-device>
145          <effect-chain> <effect-chain-pos> <effect-instance>"
146        - added LSCP command "REMOVE SEND_EFFECT_CHAIN EFFECT <audio-device>
147          <effect-chain> <chain-pos>"
148        - added LSCP command "SET FX_SEND EFFECT <sampler_channel>
149          <fx_send_id> <effect_chain> <chain_pos>"
150        - added LSCP command "REMOVE FX_SEND EFFECT <sampler_channel> <fx_send_id>"
151    
152      * Bug fixes:
153        - Fixed crash which may occur when MIDI key + transpose is out of range
154        - minor valgrind fixes
155        - fixed crash which occured when changing an already deployed sampler
156          channel to a different engine type
157        - fixed crash when deleting a sampler channel or changing engine
158          type while an instrument load was in progress
159        - bugfix: playing a note while changing the instrument could cause
160          a crash, or give "Handing back unknown region" error messages
161        - bugfix: calling SET VOICES (which Fantasia does on start and
162          refresh) could cause instruments to be unloaded
163        - Mac OS X: fixed name collision of enum in EffectControl and
164          wrong name of destructor in AudioOutputDeviceCoreAudio.cpp
165    
166    Version 1.0.0 (31 July 2009)
167    
168    * packaging changes:    * packaging changes:
169      - autoconf bugfix: the PKG_CONFIG variable wasn't initialized properly,      - autoconf bugfix: the PKG_CONFIG variable wasn't initialized properly,
170        causing e.g. the libgig test to fail when        causing e.g. the libgig test to fail when
# Line 13  Version CVS HEAD (?) Line 178  Version CVS HEAD (?)
178      - fixed building with libgig installed in a non-standard directory      - fixed building with libgig installed in a non-standard directory
179      - minor fix in configure for mmsystem.h detection on MinGW      - minor fix in configure for mmsystem.h detection on MinGW
180      - Windows: look for editor plugins and Fantasia using base      - Windows: look for editor plugins and Fantasia using base
181        directory of liblinuxsampler dll        directory of liblinuxsampler dll (look in the same directory and one
182          directory above)
183      - configure script fix: removed unconditional use of SSE      - configure script fix: removed unconditional use of SSE
184        - fixed building with sqlite installed in a non-standard directory
185        - when cross-compiling, don't try to create instruments.db
186        - fix for new mingw-w64 version, which has usleep
187    
188    * general changes:    * general changes:
189      - bugfix: on some POSIX systems instrument editor plugins refused to      - bugfix: on some POSIX systems instrument editor plugins refused to
# Line 54  Version CVS HEAD (?) Line 223  Version CVS HEAD (?)
223      - theoretical fix: made SynchronizedConfig follow C++0x memory      - theoretical fix: made SynchronizedConfig follow C++0x memory
224        model more strictly        model more strictly
225      - fixes for using large audio device buffers      - fixes for using large audio device buffers
226        - Windows: add the installation directory to the DLL search path
227          when loading an editor plugin (solves problems with VST and
228          gigedit on systems with other GTK versions installed)
229    
230    * audio driver:    * audio driver:
231      - removed the nonsense audio channel constraint (which was hard coded to      - removed the nonsense audio channel constraint (which was hard coded to
# Line 77  Version CVS HEAD (?) Line 249  Version CVS HEAD (?)
249      - VST: avoid opening Fantasia more than once for each VST instance      - VST: avoid opening Fantasia more than once for each VST instance
250      - VST: export main function as "main" on Linux too (fix for      - VST: export main function as "main" on Linux too (fix for
251        energyXT)        energyXT)
252        - VST: changed number of output channels from one stereo to 16
253          stereo
254        - added channel routing, fxsends and midi maps to the settings
255          stored in the plugin state
256        - performance optimization of AudioChannel::MixTo() and
257          AudioChannel::CopyTo() methods using GCC vector exensions
258          (if available)
259        - ASIO fixes: avoid initializing the device twice, avoid throwing
260          exception when getting parameters from a disconnected device
261    
262    * MIDI driver:    * MIDI driver:
263      - added JACK MIDI driver      - added JACK MIDI driver
# Line 86  Version CVS HEAD (?) Line 267  Version CVS HEAD (?)
267      - bugfix: pitch bend wasn't working with JackMidi, VST, LV2, MME,      - bugfix: pitch bend wasn't working with JackMidi, VST, LV2, MME,
268        CoreMidi or AU        CoreMidi or AU
269      - fixed mingw-w64 compilation error in MME driver      - fixed mingw-w64 compilation error in MME driver
270        - made program change handling in MIDI thread real-time safe by
271          moving the logic to a non-RT thread
272        - fixed minor memory leak in ALSA driver
273    
274    * instruments database:    * instruments database:
275      - avoid time consuming samples scanning when adding instruments      - avoid time consuming samples scanning when adding instruments
# Line 96  Version CVS HEAD (?) Line 280  Version CVS HEAD (?)
280        (patch by Chris Cherrett & Andrew Williams, a bit adjusted)        (patch by Chris Cherrett & Andrew Williams, a bit adjusted)
281      - work-around for missing fnmatch function on Windows to make      - work-around for missing fnmatch function on Windows to make
282        instrument database compilable        instrument database compilable
283        - added instrument database support on Windows
284          works with both standalone mode and VST plugin.
285          the instruments DB file is located in
286          %USERPROFILE%\.linuxsampler\instruments.db which allows different
287          databases for each windows user
288          if no DB is present it automatically creates the .linuxsampler subdir
289          and then creates an empty DB
290        - fixed recursive import, which was broken on Windows
291    
292    * Gigasampler format engine:    * Gigasampler format engine:
293      - fixed a memory leak that could happen when a channel was deleted      - fixed a memory leak that could happen when a channel was deleted
# Line 139  Version CVS HEAD (?) Line 331  Version CVS HEAD (?)
331      - added a limit check for upward pitch shifting      - added a limit check for upward pitch shifting
332      - bugfix: sometimes, when playing a note twice fast, the second      - bugfix: sometimes, when playing a note twice fast, the second
333        note was silent        note was silent
334        - fixed crash happening when a pitch bend event arrived at the
335          same time a new instrument was loading
336    
337    * LSCP server:    * LSCP server:
338      - added new LSCP event "CHANNEL_MIDI" which can be used by frontends to      - added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
# Line 193  Version CVS HEAD (?) Line 387  Version CVS HEAD (?)
387        plugin was unloaded        plugin was unloaded
388      - bugfix: two private structs had the same name, which could cause      - bugfix: two private structs had the same name, which could cause
389        problems if the linker chose the wrong constructor        problems if the linker chose the wrong constructor
390        - fixed low-level ConditionServer usage bug that caused lockups on
391          Windows
392    
393    
394  Version 0.5.1 (6 December 2007)  Version 0.5.1 (6 December 2007)

Legend:
Removed from v.1908  
changed lines
  Added in v.2183

  ViewVC Help
Powered by ViewVC