/[svn]/linuxsampler/trunk/src/engines/gig/Engine.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/engines/gig/Engine.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2927 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 30 16:44:46 2016 UTC (3 years, 3 months ago) by schoenebeck
File length: 18956 byte(s)
Diff to previous 2879
* Fix: Release trigger voices were not spawned on sustain pedal up
  (CC #64) events.
* Fix: Release trigger voices can now also distinguish correctly between
  note-off and sustain pedal up events.
* Bumped version (2.0.0.svn10).


Revision 2879 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 19 14:07:53 2016 UTC (3 years, 5 months ago) by schoenebeck
File length: 18868 byte(s)
Diff to previous 2611
* All engines: Active voices are now internally grouped to "Note" objects,
  instead of being directly assigned to a keyboard key. This allows more
  fine graded processing of voices, which is i.e. required for certain
  instrument script features.
* Built-in script function "play_note()": Added support for passing
  special value -1 for "duration-us" argument, which will cause the
  triggered note to be released once the original note was released.
* Bumped version (2.0.0.svn3).


Revision 2611 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 9 19:20:37 2014 UTC (5 years, 4 months ago) by schoenebeck
File length: 17989 byte(s)
Diff to previous 2600
* Fixed crash when loading an instrument script.
* Fixed "init" script handler only to be executed once:
  when the script was loaded.
* Fixed aftertouch script event which always had value zero
  and controller number was set to aftertouch value instead.
* gig Engine: Fixed handling of "smartmidi" dimension, which
  was recognized as "unknown" dimension.
* Fixed script function gig_set_dim_zone(): was accessing
  wrong event.
* ls_instr_script command line tool: is now not limited to
  core language scripts, but can now also parse sampler format
  dependent instrument scripts, with the respective specific
  built-in script variables and functions.
* ScriptVM: Fixed runtime behavior of "and" and "or" binary
  script expressions, which also evaluated the right hand side
  of the expression even if the left hand side already failed
  the overall expression semantic to become true.
* Bumped version (1.0.0.svn46).


Revision 2600 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 7 00:16:03 2014 UTC (5 years, 4 months ago) by schoenebeck
File length: 17675 byte(s)
Diff to previous 2565
* Implemented built-in instrument script function "set_controller()".
* Fixed built-in script functions "ignore_event()" and
  "ignore_controller()".
* Added extended instrument script VM for the Gigasampler/GigaStudio format
  sampler engine, which extends the general instrument script VM with Giga
  format specific variables and functions.
* Giga format instrument scripts: added built-in script int constant
  variables $GIG_DIM_CHANNEL, $GIG_DIM_LAYER, $GIG_DIM_VELOCITY,
  $GIG_DIM_AFTERTOUCH, $GIG_DIM_RELEASE, $GIG_DIM_KEYBOARD,
  $GIG_DIM_ROUNDROBIN, $GIG_DIM_RANDOM, $GIG_DIM_SMARTMIDI,
  $GIG_DIM_ROUNDROBINKEY, $GIG_DIM_MODWHEEL, $GIG_DIM_BREATH,
  $GIG_DIM_FOOT, $GIG_DIM_PORTAMENTOTIME, $GIG_DIM_EFFECT1,
  $GIG_DIM_EFFECT2, $GIG_DIM_GENPURPOSE1, $GIG_DIM_GENPURPOSE2,
  $GIG_DIM_GENPURPOSE3, $GIG_DIM_GENPURPOSE4, $GIG_DIM_SUSTAIN,
  $GIG_DIM_PORTAMENTO, $GIG_DIM_SOSTENUTO, $GIG_DIM_SOFT,
  $GIG_DIM_GENPURPOSE5, $GIG_DIM_GENPURPOSE6, $GIG_DIM_GENPURPOSE7,
  $GIG_DIM_GENPURPOSE8, $GIG_DIM_EFFECT1DEPTH, $GIG_DIM_EFFECT2DEPTH,
  $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH.
* Giga format instrument scripts: Implemented built-in script function
  "gig_set_dim_zone(event_id, dimension, zone)", which allows to override
  dimension zone(s) for new voices.
* Bumped version (1.0.0.svn45).


Revision 2565 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 20 12:21:39 2014 UTC (5 years, 4 months ago) by schoenebeck
File length: 16989 byte(s)
Diff to previous 2559
* Giga format: Fixed crash that happened with velocity split sounds
  under certain conditions (see also previous commit on libgig).
* Bumped version to 1.0.0.svn40.


Revision 2559 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 18 17:38:25 2014 UTC (5 years, 4 months ago) by schoenebeck
File length: 16889 byte(s)
Diff to previous 2494
* Aftertouch: extended API to explicitly handle channel pressure and
  polyphonic key pressure events (so far polyphonic pressure was not
  supported at all, and channel pressure was rerouted as CC128 but not
  used so far).
* Gig Engine: Fixed support for 'aftertouch' attenuation controller.
* Bumped version (1.0.0.svn39).


Revision 2494 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 1 17:48:01 2014 UTC (5 years, 9 months ago) by schoenebeck
File length: 16416 byte(s)
Diff to previous 2115
* Enabled automatic svn "Revision" macro expansion on certain files.
* Bumped version to 1.0.0.svn24.


Revision 2115 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 12 15:36:15 2010 UTC (9 years, 2 months ago) by persson
File length: 16424 byte(s)
Diff to previous 2114
* sfz engine: added support for controller triggered regions
  (on_locc/on_hicc)
* sfz engine: added support for loop_mode=one_shot


Revision 2114 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 10 12:05:19 2010 UTC (9 years, 2 months ago) by persson
File length: 16422 byte(s)
Diff to previous 2072
* sfz engine: improved support for exclusive groups (group, off_by and
  off_mode)
* minor valgrind fixes


Revision 2072 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 20 11:37:52 2010 UTC (9 years, 6 months ago) by persson
File length: 16434 byte(s)
Diff to previous 2043
* sfz engine: added support for random, seq_position, seq_length and
  volume
* sfz parser: added v1 LFO opcodes (no support in engine yet)


Revision 2043 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 9 09:37:01 2010 UTC (9 years, 9 months ago) by persson
File length: 16562 byte(s)
Diff to previous 2027
* gig engine: implemented the "round robin keyboard" dimension
* gig engine: fixed round robin and random dimensions for cases when
  number of dimension zones is not a power of two
* gig engine: made round robin use a counter for each region instead
  of each key
* fixed building with libgig installed in a non-standard directory


Revision 2027 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 3 19:27:42 2009 UTC (9 years, 11 months ago) by iliev
File length: 16263 byte(s)
Diff to previous 2012
* sfz engine: support for exclusive groups
* sf2 engine: support for exclusive groups
* sf2 engine: manage presets only
* sf2 engine: preset regions are now taken into account


Revision 2012 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 23 17:53:17 2009 UTC (9 years, 11 months ago) by iliev
File length: 19005 byte(s)
Diff to previous 1933
* Refactoring: moved the independent code from
  the Gigasampler format engine to base classes
* SFZ format engine: experimental code (not usable yet)
* SoundFont format engine: experimental code (not usable yet)
* Fixed crash which may occur when MIDI key + transpose is out of range


Revision 1933 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 9 17:37:41 2009 UTC (10 years, 3 months ago) by persson
File length: 111460 byte(s)
Diff to previous 1895
* fixed low-level ConditionServer usage bug that caused lockups on
  Windows


Revision 1895 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 3 12:15:40 2009 UTC (10 years, 5 months ago) by persson
File length: 111451 byte(s)
Diff to previous 1893
* fixes for using large audio device buffers
* VST: added support for sample rate and buffer size changes
* VST: close editor (Fantasia) when the VST is removed
* minor fix in configure for mmsystem.h detection on MinGW
* removed warnings from gcc 4.4 and valgrind


Revision 1893 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 2 18:57:49 2009 UTC (10 years, 5 months ago) by schoenebeck
File length: 111419 byte(s)
Diff to previous 1860
* fixed crash which occured when max. voices / streams limits were altered
  while voices were still active


Revision 1860 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 11 18:23:35 2009 UTC (10 years, 7 months ago) by schoenebeck
File length: 111033 byte(s)
Diff to previous 1843
* added support for GS Reset SysEx message


Revision 1843 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 21 17:08:18 2009 UTC (10 years, 7 months ago) by iliev
File length: 110500 byte(s)
Diff to previous 1800
* fixed orphaned pointers when setting maximum voices limit (bug #118)


Revision 1800 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 7 01:26:46 2008 UTC (10 years, 10 months ago) by schoenebeck
File length: 110020 byte(s)
Diff to previous 1789
* maximum voices and disk streams can now be altered at runtime (added new
  LSCP commands "GET VOICES", "SET VOICES", "GET STREAMS", "SET STREAMS"
  and accordingly new LSCP events "GLOBAL_INFO:VOICES" and
  "GLOBAL_INFO:STREAMS")
* bumped version to 0.5.1.8cvs


Revision 1789 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 1 19:01:27 2008 UTC (10 years, 11 months ago) by iliev
File length: 108168 byte(s)
Diff to previous 1764
* notification events for stream/voice count statistics are now sent
  only when there are actual changes
* use atomic_t for stream/voice count statistics


Revision 1764 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 6 14:55:18 2008 UTC (11 years, 1 month ago) by persson
File length: 108070 byte(s)
Diff to previous 1762
* rewrote the ConditionServer class to make it possible to create
  multiple sample channels when the audio thread isn't running


Revision 1762 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 29 17:33:02 2008 UTC (11 years, 1 month ago) by schoenebeck
File length: 107998 byte(s)
Diff to previous 1751
* global volume sysex message can now be selected at compile time to be
  only applied to the sampler channels that are connected to the respective
  MIDI input port the SysEx message arrived on (by default global volume
  SysEx messages apply globally to the whole sampler)
* bumped version to 0.5.1.7cvs


Revision 1751 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 28 07:36:35 2008 UTC (11 years, 2 months ago) by schoenebeck
File length: 106921 byte(s)
Diff to previous 1750
* bugfix: process chromatic / drumkit mode sysex message only for
  the respective engine channels that are connected to the MIDI
  input port on which the message was received


Revision 1750 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 10 15:00:38 2008 UTC (11 years, 3 months ago) by schoenebeck
File length: 106598 byte(s)
Diff to previous 1748
* added support for chromatic / drumkit mode Roland GS Sysex message
  which is usally used to switch a part between chromatic sounds and
  drumkit sounds (as opposed to their common default setting of MIDI
  part 10 being a drumkit part and all other ones chromatic parts), in
  LS however one can switch between the first 16 MIDI instrument maps
  of all ones defined for the sampler
* bumped version to 0.5.1.6cvs


Revision 1748 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 22 14:46:46 2008 UTC (11 years, 3 months ago) by persson
File length: 105017 byte(s)
Diff to previous 1724
* bugfix: notes triggered at position 0 in the audio buffer were
  sometimes wrongly killed in the same buffer, causing no sound to be
  played
* fixes for audio drivers with varying buffer sizes
* Makefile fix: JACK_CFLAGS wasn't used
* JACK driver: use jack_client_open instead of the deprecated
  jack_client_new


Revision 1724 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 22 08:52:54 2008 UTC (11 years, 5 months ago) by schoenebeck
File length: 105076 byte(s)
Diff to previous 1723
* added support for GM global device volume SysEx message


Revision 1723 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 20 08:53:39 2008 UTC (11 years, 5 months ago) by schoenebeck
File length: 104041 byte(s)
Diff to previous 1722
* allow pan control of engine channels on C++ API level
* export denormals-are-zero mode feature to C++ API


Revision 1722 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 10 17:41:32 2008 UTC (11 years, 6 months ago) by schoenebeck
File length: 103953 byte(s)
Diff to previous 1715
* minor preparations for internal effects support
* bumped version to 0.5.1.5cvs


Revision 1715 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 11 15:20:46 2008 UTC (11 years, 7 months ago) by schoenebeck
File length: 102686 byte(s)
Diff to previous 1700
* dispatch bank select as ordinary CC as well, the user might seriously
  want to (mis)use it for some purpose ("fixed" in all current MIDI
  input drivers: ALSA, CoreMIDI, JACK, MidiShare, MME)
* minor fix: only mark FX sends as being modified if really the
  respective FX send MIDI controller was used


Revision 1700 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 17 12:40:59 2008 UTC (11 years, 8 months ago) by persson
File length: 102666 byte(s)
Diff to previous 1646
* added partial support for the "Controller Triggered" MIDI rule,
  enough for piano gigs with pedal noise samples


Revision 1646 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 20 15:04:51 2008 UTC (11 years, 8 months ago) by persson
File length: 99597 byte(s)
Diff to previous 1644
* made it possible to load an instrument even if the audio thread
  isn't running


Revision 1644 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 19 16:55:03 2008 UTC (11 years, 8 months ago) by persson
File length: 99877 byte(s)
Diff to previous 1555
* fixed memory leaks that occurred when liblinuxsampler was unloaded
* fixed a memory leak that could happen when a channel was deleted
  while notes were playing
* fixed memory management bug in ASIO driver
* optimized the SynchronizedConfig class so it doesn't wait
  unnecessarily long after an update


Revision 1555 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 6 01:39:24 2007 UTC (11 years, 10 months ago) by schoenebeck
File length: 99839 byte(s)
Diff to previous 1481
- slightly changed gig engine description


Revision 1481 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 14 23:42:15 2007 UTC (11 years, 11 months ago) by senoner
File length: 99832 byte(s)
Diff to previous 1424
* win32 port work in progress:
* - implemented win32 support in the following classes:
* Thread, Condition, Mutex, Path, LscpServer
* - lscp.y use DONTCARE instead of VOID
*  (a win32 symbol defined)
* - completed win32 editor plugin loader


Revision 1424 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 14 22:00:17 2007 UTC (12 years ago) by schoenebeck
File length: 99832 byte(s)
Diff to previous 1399
* code cleanup:
- global.h now only covers global definitions that are needed for the C++
  API header files, all implementation internal global definitions are now
  in global_private.h
- atomic.h is not exposed to the C++ API anymore (replaced the references
  in SynchronizedConfig.h for this with local definitions)
- no need to include config.h anymore for using LS's API header files
- DB instruments classes are not exposed to the C++ API
- POSIX callback functions of Thread.h are hidden
- the (optional) gig Engine benchmark compiles again
- updated Doxyfile.in
- fixed warnings in API doc generation
* preparations for release 0.5.0


Revision 1399 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 18:53:29 2007 UTC (12 years ago) by schoenebeck
File length: 99790 byte(s)
Diff to previous 1348
* the following LSCP command return escape sequences in at least one
  of their LSCP response fields: "GET ENGINE INFO", "GET CHANNEL INFO",
  "GET MIDI_INSTRUMENT INFO", "GET MIDI_INSTRUMENT_MAP INFO",
  "GET FX_SEND INFO", "GET SERVER INFO"
* listed all LSCP commands in the LSCP specs which may use escape
  sequences in at least on of their response fields
* hide instrument editor related debug messages in the gig::Engine when
  using the default debug level (which is 1)
* bumped version to 0.4.0.8cvs


Revision 1348 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 14 14:45:11 2007 UTC (12 years, 1 month ago) by schoenebeck
File length: 99790 byte(s)
Diff to previous 1321
* behavior fix: on MIDI CC# 65 (portamento on / off), 126 (mono mode),
  127 (solo mode) only kill voices if the respective mode really changed


Revision 1321 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 4 01:12:49 2007 UTC (12 years, 1 month ago) by schoenebeck
File length: 99572 byte(s)
Diff to previous 1305
* added highly experimental code for synchronizing instrument editors
  hosted in the sampler's process to safely edit instruments while playing
  without a crash (hopefully) by either suspending single regions wherever
  possible or - if unavoidable - whole engine(s)
* disk thread: queue sizes are now proportional to CONFIG_MAX_STREAMS
  instead of fix values
* removed legacy Makefiles in meanwhile deleted src/lib directory and its
  subdirectories
* bumped version to 0.4.0.7cvs


Revision 1305 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 27 07:51:28 2007 UTC (12 years, 1 month ago) by iliev
File length: 88195 byte(s)
Diff to previous 1297
* added default min and max values to restrict the number of allowed
  audio output channels and MIDI input ports
* the connection to the PCM interface is now closed when destroying
  an audio output device


Revision 1297 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 16 15:55:21 2007 UTC (12 years, 2 months ago) by iliev
File length: 88144 byte(s)
Diff to previous 1248
* bugfix: the active stream/voice count statistic was incorrect


Revision 1248 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 22 10:10:06 2007 UTC (12 years, 3 months ago) by persson
File length: 87321 byte(s)
Diff to previous 1108
* fixed some minor memory leaks


Revision 1108 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 22 20:39:04 2007 UTC (12 years, 6 months ago) by iliev
File length: 87075 byte(s)
Diff to previous 1044
* Added new notification events for tracking
effect send changes and global volume changes


Revision 1044 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 21:51:19 2007 UTC (12 years, 8 months ago) by schoenebeck
File length: 87024 byte(s)
Diff to previous 1043
- small fix regarding previously added MIDI RPN controller handling
  (all subsequent CC #6 messages were misinterpreted as being
  values for the previously selected RPN controller)


Revision 1043 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 21:02:04 2007 UTC (12 years, 8 months ago) by schoenebeck
File length: 86868 byte(s)
Diff to previous 1041
* for now just set all notes off when receiving a MIDI coarse tuning
  message to prevent hanging notes when transposing while playing


Revision 1041 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 17:45:19 2007 UTC (12 years, 8 months ago) by schoenebeck
File length: 86726 byte(s)
Diff to previous 1039
* handle MIDI coarse tuning messages (MIDI RPN #0 MSB, #2 LSB),
  currently lazy implementation, transpose value is simply added on the
  note on/off values instead only at the mandatory places, thus when
  altering transpose while playing, voices can unintendedly survive


Revision 1039 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 3 20:46:44 2007 UTC (12 years, 8 months ago) by persson
File length: 85179 byte(s)
Diff to previous 1038
* EG fix: a release value of zero could cause noises or crash
* fix of previous thread safety fix, which in some cases locked the
  engine


Revision 1038 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 3 15:33:00 2007 UTC (12 years, 8 months ago) by persson
File length: 85165 byte(s)
Diff to previous 1037
* playback is no longer disabled during instrument loading
* all notes playing on a channel that changes its instrument keep
  playing with the old instrument until they get a note off command
* new thread safety fix for lscp "load engine" and "set channel audio
  output device"


Revision 1037 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 23 20:03:22 2007 UTC (12 years, 8 months ago) by schoenebeck
File length: 81550 byte(s)
Diff to previous 1012
* bugfix regarding FX Sends: when more than one sampler channel used FX
  sends, only the audio signal of the last sampler channel made it into the
  final output signal
* fixed small autoconf compilation issue on certain systems (complained
  about missing AM_PATH_ARTS macro)


Revision 1012 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 7 15:52:36 2007 UTC (12 years, 9 months ago) by capela
File length: 81554 byte(s)
Diff to previous 1001
* Fixed a memory leak due to EngineFactory::Destroy() not doing it
as an actual destructor and just removing the engine instance from
factory stock and all instances allocated via EngineFactory::Create()
never got delete'd and thus their destructors never called. This bug
was evident while having many mapped instruments and querying the
instrument status via GET MIDI_INSTRUMENT INFO command, eating up
system memory very quickly and never let it go.


Revision 1001 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 27 16:17:08 2006 UTC (12 years, 9 months ago) by schoenebeck
File length: 81572 byte(s)
Diff to previous 970
* implemented effect sends (also added new LSCP commands for this feature,
  updated LSCP spec document along with this commit batch as well)


Revision 970 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 6 22:28:17 2006 UTC (12 years, 10 months ago) by schoenebeck
File length: 78079 byte(s)
Diff to previous 947
* fixed crash occuring in conjunction with the new 'MAP MIDI_INSTRUMENT'
  LSCP command (cause: RingBuffer was not able to do deep copies)


Revision 947 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 27 21:34:55 2006 UTC (12 years, 10 months ago) by schoenebeck
File length: 78037 byte(s)
Diff to previous 924
* implemented MIDI instrument mapping according to latest LSCP draft


Revision 924 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 21 14:13:09 2006 UTC (12 years, 11 months ago) by schoenebeck
File length: 77976 byte(s)
Diff to previous 903
just minor code comment update


Revision 903 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 22 14:22:53 2006 UTC (13 years, 2 months ago) by persson
File length: 77928 byte(s)
Diff to previous 880
* real support for 24 bit samples - samples are not truncated to 16
  bits anymore
* support for aftertouch (channel pressure, not polyphonic aftertouch)


Revision 880 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 27 22:57:37 2006 UTC (13 years, 3 months ago) by schoenebeck
File length: 77936 byte(s)
Diff to previous 865
just some refactoring work:
- renamed class LinuxSamplerException -> Exception
- encapsulated LS API relevant files into LS namespace
- removed unnecessary header inclusions


Revision 865 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 14 07:15:52 2006 UTC (13 years, 5 months ago) by persson
File length: 77948 byte(s)
Diff to previous 849
* sample loop parameters are now taken from the DimensionRegion
  instead of the wave chunk
* fixed keyswitching for v3 gigs with a number of keyswitch splits not
  equal to a power of two


Revision 849 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 25 13:05:59 2006 UTC (13 years, 6 months ago) by schoenebeck
File length: 77907 byte(s)
Diff to previous 846
* added compile time option to disable processing of All-Notes-Off
  MIDI messages


Revision 846 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 19 16:38:22 2006 UTC (13 years, 7 months ago) by persson
File length: 77803 byte(s)
Diff to previous 832
* more thread safety fixes: another fix for lscp "load engine" and
  midi thread. Sysex midi protected against lscp. Instrument loader
  thread protected against lscp thread.


Revision 832 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 5 10:24:05 2006 UTC (13 years, 8 months ago) by persson
File length: 77438 byte(s)
Diff to previous 831
* added smoothing of volume changes caused by control change messages
* fine tuning of the crossfade volume curve


Revision 831 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 28 16:55:30 2006 UTC (13 years, 8 months ago) by persson
File length: 77153 byte(s)
Diff to previous 829
* fixed global pan (CC10) which hasn't been working for a while
* fine tuning of the curves for volume (CC7) and pan (CC10 and gig
  parameter)
* added support for the "attenuation controller threshold" gig
  parameter


Revision 829 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 14 14:07:47 2006 UTC (13 years, 9 months ago) by schoenebeck
File length: 76130 byte(s)
Diff to previous 781
* implemented portamento mode and solo mode (a.k.a 'mono mode'):
  all modes can be altered via standard GM messages, that is CC5 for
  altering portamento time, CC65 for enabling / disabling portamento
  mode, CC126 for enabling solo mode and CC127 for disabling solo mode
* fixed EG3 (pitch envelope) synthesis which was neutral all the time
* configure.in: do not automatically pick optimized gcc flags if the user
  already provided some on his own (as CXXFLAGS)


Revision 781 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 26 10:17:00 2005 UTC (14 years ago) by schoenebeck
File length: 69677 byte(s)
Diff to previous 776
* fixed event handling bug which was introduced by the recent synthesis
  optimizations (events were only processed for the first active voice)
* added global volume attenuation of -9 dB (0.35f) to prevent clipping
  which can be overridden with --enable-global-attenuation


Revision 776 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 21 19:05:41 2005 UTC (14 years ago) by iliev
File length: 69648 byte(s)
Diff to previous 775
* Added support for sostenuto pedal


Revision 775 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 21 14:30:43 2005 UTC (14 years ago) by schoenebeck
File length: 66701 byte(s)
Diff to previous 769
* src/drivers/MidiInputPort.cpp: fixed legacy SysEx code which caused
  dispatching of MIDI SysEx messages several times instead of once
* src/engines/gig/Engine.cpp: fixed bug in SysEx handling
  (patch by Juan Linietsky)


Revision 769 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 3 11:14:30 2005 UTC (14 years, 1 month ago) by schoenebeck
File length: 66671 byte(s)
Diff to previous 738
* fixed endless loop which occured on MIDI control change
  and pitch bend events


Revision 738 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 16 17:14:25 2005 UTC (14 years, 2 months ago) by schoenebeck
File length: 67028 byte(s)
Diff to previous 716
* extensive synthesis optimization: reimplementation of EGs and LFO(s),
  removed synthesis parameter prerendering and the synthesis parameter
  matrix in general, splitting each audio fragment into subfragments now
  where each subfragment uses constant synthesis parameters
  (everything's still very buggy ATM)


Revision 716 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 24 06:57:30 2005 UTC (14 years, 2 months ago) by iliev
File length: 68921 byte(s)
Diff to previous 705
* Added configure option --enable-process-muted-channels
which can be used to enable the processing of muted channels


Revision 705 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 20 21:43:23 2005 UTC (14 years, 2 months ago) by schoenebeck
File length: 68582 byte(s)
Diff to previous 690
* support for muting sampler channels and solo mode of the same, two new
  LSCP commands ("SET CHANNEL MUTE" and "SET CHANNEL SOLO") and two new
  fields ("MUTE" and "SOLO") for command "GET CHANNEL INFO" were
  introduced for this (patch by Grigor Iliev, a bit adjusted)


Revision 690 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 15 16:43:56 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 68141 byte(s)
Diff to previous 688
just to clearify that the previous change refers to voice stealing


Revision 688 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 14 12:25:20 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 68113 byte(s)
Diff to previous 669
* if period time of chosen audio device is too small (< MIN_RELEASE_TIME)
  then simply show a warning about possible click sounds and reduce the
  volume ramp down appropriately instead of cancelling the audio device
  connection


Revision 669 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 21 13:33:19 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 67476 byte(s)
Diff to previous 668
* fixed minor issue with null/silence samples
  (those stole voices even though they don't need a voice at all which
  resulted in "voice stealing didn't work out" messages)


Revision 668 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 20 15:30:47 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 61427 byte(s)
Diff to previous 665
* fixed a key group bug which caused undefined behavior in conjunction with
  stolen voices (this case was usually followed by a "killed voice
  survived" or "voice stealing didn't work out" error message)


Revision 665 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 19 15:11:20 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 60688 byte(s)
Diff to previous 663
finally fixes endless loop in voice stealing algorithm (hopefully)


Revision 663 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 18 21:37:03 2005 UTC (14 years, 4 months ago) by schoenebeck
File length: 60572 byte(s)
Diff to previous 660
* another voice stealing fix
  (endless loop occured when voices were stolen from other engine channels)


Revision 660 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 17 19:49:30 2005 UTC (14 years, 4 months ago) by schoenebeck
File length: 59635 byte(s)
Diff to previous 659
* LSCP server: fixed LSCP event "CHANNEL_INFO" notification
  (e.g. did not notify on volume changes)


Revision 659 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 16 21:35:30 2005 UTC (14 years, 4 months ago) by schoenebeck
File length: 59523 byte(s)
Diff to previous 649
* don't reset scale tuning on instrument or audio output device change


Revision 649 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 15 00:01:28 2005 UTC (14 years, 4 months ago) by schoenebeck
File length: 59443 byte(s)
Diff to previous 630
* revised voice stealing (fixes crash caused by voice stealing)


Revision 630 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 11 14:51:49 2005 UTC (14 years, 4 months ago) by persson
File length: 55620 byte(s)
Diff to previous 614
* volume of release triggered samples now depends on note-on velocity,
  note length and gig parameter "release trigger decay" instead of
  note-off velocity.


Revision 614 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 6 16:54:20 2005 UTC (14 years, 4 months ago) by persson
File length: 55297 byte(s)
Diff to previous 563
* support for the gig parameters for "release velocity response"
  curves, which means the decay and release times now depends on
  velocity. The softer velocity, the longer release.
* fine tuning of the envelope curves. Decay1 and release now have two
  parts, first linear and then exponential at the end.


Revision 563 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 22 20:43:32 2005 UTC (14 years, 4 months ago) by schoenebeck
File length: 55249 byte(s)
Diff to previous 554
* (re)implemented voice stealing algorithm "oldestvoiceonkey" and made it
  the default voice stealing algorithm
* added new LSCP command "GET SERVER INFO" which currently returns
  description and version about this sampler
* added some API documentation comments
* minor cleanup


Revision 554 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 19 19:25:14 2005 UTC (14 years, 5 months ago) by schoenebeck
File length: 55336 byte(s)
Diff to previous 497
* All compile time options are now centrally alterable as arguments to the
  ./configure script. All options are C Macros beginning with CONFIG_
  prefix and will be placed into auto generated config.h file.


Revision 497 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 10 11:55:44 2005 UTC (14 years, 6 months ago) by persson
File length: 55279 byte(s)
Diff to previous 493
* removed some build warnings
* fixed a bug with hanging notes when using sustain pedal
* release samples are not triggered anymore when sustain pedal is down


Revision 493 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 3 19:53:43 2005 UTC (14 years, 6 months ago) by schoenebeck
File length: 55211 byte(s)
Diff to previous 475
* fixed MIDI GS scale tuning (via SysEx Message)


Revision 475 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 17 23:56:56 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 54819 byte(s)
Diff to previous 473
* fixed segmentation fault on "GET CHANNEL INFO" commands which occured
  when an engine type was selected but no audio device connected yet to
  the sampler channel (fixes bug #4)


Revision 473 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 17 20:13:08 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 54812 byte(s)
Diff to previous 466
* fixed event leak (events sent to inactive keys were not freed)
* implemented MIDI channel mode messages "All Sound Off", "Reset All
  Controller", "All Notes Off" (fixes bug #5)


Revision 466 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 15 19:27:01 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 48735 byte(s)
Diff to previous 460
* fixed another crash under heavy load which was accidently introduced with
  the previous commit - events have to be processed completely on all
  engine channels before audio is rendered (fixes bug #7)


Revision 460 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 14 22:35:44 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 48605 byte(s)
Diff to previous 438
* spawning layered voices now within a loop instead of recursively (fixes
  segmentation fault under heavy voice count load and reduces stress on the
  stack)
* voice stealing operates on all engine channels now
* limit voice stealing to MAX_AUDIO_VOICES thefts per audio fragment cycle
* fixed keygroup handling (layered voices could kill each other)


Revision 438 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 9 22:12:15 2005 UTC (14 years, 7 months ago) by persson
File length: 48019 byte(s)
Diff to previous 424
* 24-bit decompression now supports the 20 and 18 bit formats
* support for "random" and "round robin" dimensions
* removed a warning printout for empty samples during instrument
  loading


Revision 424 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 4 22:54:11 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 48076 byte(s)
Diff to previous 420
* implemented MIDI Control Change 7 (Volume)
* implemented MIDI Control Change 10 (Panpot)


Revision 420 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 3 03:25:17 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 47461 byte(s)
Diff to previous 412
* fixed some segfaults (which occured on EngineChannel destruction)
* InstrumentResourceManager: recache small samples if their current
  number of silence sample points are not sufficient enough for the used
  audio output device
* src/linuxsampler.cpp: voice / streams statistics on the console is back
  again (can be turned on with command line switch --statistics)


Revision 412 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 26 22:44:51 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 47365 byte(s)
Diff to previous 411
* gig::Engine: fixed silence (engine channels' events were not imported
  into the engine, fixed undesired creation of new gig::Engine instances
  (and disk threads)
* AudioOutputDevice: reverted behavior to render per Engine instance (and
  not per EngineChannel instance)


Revision 411 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 26 02:01:14 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 42975 byte(s)
Diff to previous 392
* design change: using now one sampler engine instance and one disk thread
  instance for all sampler channels that are connected to the same audio
  output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
  dependencies e.g. of the lscpserver to the actual sampler engine
  implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
  previous, stable CVS version was tagged as "v0_2_0" and is also available
  as source tarball)


Revision 392 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 19 02:40:24 2005 UTC (14 years, 7 months ago) by schoenebeck
File length: 51927 byte(s)
Diff to previous 376
* fixed possibility that memory got not locked
* immediately set instrument status when calling LOAD INSTUMENT NON_MODAL


Revision 376 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 12 23:48:50 2005 UTC (14 years, 8 months ago) by senkov
File length: 51328 byte(s)
Diff to previous 361
* Added INSTRUMENT_NAME to GET CHANNEL INFO command result set


Revision 361 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 9 01:22:18 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 51202 byte(s)
Diff to previous 354
* bunch of fixes for OSX (patch by Stephane Letz)


Revision 354 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 29 15:17:59 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 50954 byte(s)
Diff to previous 351
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)


Revision 351 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 25 22:11:43 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 50497 byte(s)
Diff to previous 329
* fixed some memory leaks (patch by Gene Anders)


Revision 329 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 28 09:43:04 2004 UTC (14 years, 9 months ago) by senkov
File length: 50429 byte(s)
Diff to previous 319
* Fixes for engine reloading. Fixed streaming bugs in some
 cases only, most probably not all yet.


Revision 319 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 13 00:46:42 2004 UTC (14 years, 10 months ago) by schoenebeck
File length: 50284 byte(s)
Diff to previous 293
* introduced 'synthesis mode' to reduce the amount of code and conditionals
  for the current synthesis case in the main synthesis loop
* support for MMX and SSE(1) in the core synthesis algorithms (CPU feature
  detection at runtime, only x86 so far)


Revision 293 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 25 15:14:27 2004 UTC (14 years, 11 months ago) by schoenebeck
File length: 50240 byte(s)
Diff to previous 287
* gig::Engine: changed way how events make it from the input event queue
  into the engine's process chain (fixes forced segfault in EGADSR)
* Event.h: using signed type for fragment position for easier
  differentiation if event might happened before or after current fragment


Revision 287 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 16 17:38:03 2004 UTC (15 years ago) by schoenebeck
File length: 49384 byte(s)
Diff to previous 285
* fixed segfault which occured whenever a voice stole a voice and was in
  turn killed in the same audio fragment, to fix that the MIDI key
  informations are now updated only after all voices were processed


Revision 285 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 14 21:31:26 2004 UTC (15 years ago) by schoenebeck
File length: 47655 byte(s)
Diff to previous 271
* bunch of bugfixes (e.g. segfault on voice stealing)


Revision 271 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 8 20:51:39 2004 UTC (15 years ago) by schoenebeck
File length: 47022 byte(s)
Diff to previous 250
* libgig: fixed panorama value in DimensionRegion (invalid conversion
  from signed 7 bit to signed 8 bit)
* src/linuxsampler.cpp: stacktrace is now automatically shown on fatal
  errors (that is  segmentation faults, etc.), gdb should be installed for
  this to work
* gig::Voice: tiny accuracy fix of pan calculation
* replaced old pool classes by completely new ones which now offer
  Iterator abstraction


Revision 250 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 20 00:31:13 2004 UTC (15 years ago) by schoenebeck
File length: 46019 byte(s)
Diff to previous 246
* added first two experimental voice stealing algorithms ('oldestkey' -
which just steals the oldest voice on the oldest key and 'keymask' - which
tries to pick the oldest voice on the same key where the new voice should
be spawned, if it fails it behaves like 'oldestkey'), the desired algorithm
can be selected at compile time (see Engine.h) will be configurable via
LSCP soon though


Revision 246 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 19 14:12:55 2004 UTC (15 years ago) by schoenebeck
File length: 39645 byte(s)
Diff to previous 244
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class


Revision 244 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 17 01:01:11 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 39318 byte(s)
Diff to previous 242
* added support for scale tuning via MIDI GS system exclusive message


Revision 242 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 15 13:59:08 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 33868 byte(s)
Diff to previous 239
* added support for release trigger dimension (that is voices which are
  spawned when a key was released)
* libgig: bugfix in dimension region switching


Revision 239 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 12 14:48:19 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 32886 byte(s)
Diff to previous 233
* implemented key groups (a.k.a exclusive groups) which is important for
  drum patches and monphonic instruments
* src/engines/gig/Engine.cpp: bugfix in ProcessNoteOn() - did not always
  stick the note on event to the respective key's own event list although
  e.g. the EGADRS expects it to find there


Revision 233 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 7 09:32:21 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 30688 byte(s)
Diff to previous 225
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
  sample rate


Revision 225 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 22 14:46:47 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 29995 byte(s)
Diff to previous 133
* set default volume to 1.0 in Gigasampler engine (was 0.0)
* implemented "SET CHANNEL AUDIO_OUTPUT_CHANNEL" LSCP command
* fixed "GET ENGINE INFO" LSCP command
* fixed "GET CHANNEL INFO" LSCP command
* src/network/lscp.y: fixed 'stringval' rule (returned string with formal
  apostrophes), fixed 'dotnum' rule (ignored position after decimal point)


Revision 133 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 18 14:29:02 2004 UTC (15 years, 4 months ago) by capela
File length: 28139 byte(s)
Diff to previous 123
* Load Instrument patch applied; this patch makes the
  LOAD INSTRUMENT command to return immediately,
  almost/always with an OK response, while spawning
  the proper instrument file loading in the background.

* New INSTRUMENT_STATUS field on GET CHANNEL INFO result
  set; the instrument status value holds the load progress
  percentage if positive, otherwise a negative value is
  evidence of a load exception error.

* VERSION is now set to 0.2.


Revision 123 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 14 19:33:16 2004 UTC (15 years, 4 months ago) by schoenebeck
File length: 27883 byte(s)
Diff to previous 112
* src/common: added template class 'optional<>' which can be used e.g. as
  return type whenever a value might be returned, but don't has to; this
  template class pretty much acts like a pointer of the given type, but is
  much more safer than a simple pointer
* src/audiodriver: added static class AudioDeviceFactory to create audio
  devices at runtime by using a string and to obtain driver informations
  of drivers at runtime, driver classes should simply use the macro
  REGISTER_AUDIO_OUTPUT_DRIVER(DriverName,DriverClass) in their cpp file
  to register the driver to LinuxSampler (no changes needed anymore in the
  LS code to add a new audio output driver)
* src/drivers: added classes to dynamically manage driver parameters; there
  are two different kinds of parameters: parameters which are need to
  create a new device (DeviceCreationParameterX) used to e.g. create an
  audio output device or a MIDI input device and parameters which are only
  available at runtime, means when a device is already created
  (DeviceRuntimeParameterX) which will be e.g. used as audio channel
  parameters and MIDI port parameters
* src/linuxsampler.cpp: all registered audio output drivers will be shown
  on the console on startup
* src/network: implemented configuration of audio output devices via LSCP


Revision 112 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 6 20:57:28 2004 UTC (15 years, 4 months ago) by senkov
File length: 27788 byte(s)
Diff to previous 80
* Added methods for CHANNEL_INFO command


Revision 80 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 23 19:16:33 2004 UTC (15 years, 4 months ago) by schoenebeck
File length: 27463 byte(s)
Diff to previous 64
* biquad filter parameters are now calculated outside the interpolate
  loop for better performance
* couple of loop unroll optimizations
* filter is now enabled by default
* cubic interpolation is now enabled by default
* reduced debug level to 1 to lower verbosity
* raised default limit for voices to 128
* raised default limit for streams to 150
* added some compiler optimization flags (-ffast-math -march -mcpu)


Revision 64 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 6 20:06:20 2004 UTC (15 years, 5 months ago) by schoenebeck
File length: 26751 byte(s)
Diff to previous 56
* src/Sampler.cpp: fixed 3 stupid but fatal bugs that left in the rush (in
  method SamplerChannels(), CreateAudioOutputDevice() and
  CreateMidiInputDevice())
* src/network/lscpserver.cpp: implemented LSCP command
  'SET CHANNEL MIDI_INPUT_CHANNEL'
* src/Sampler.h: moved enums 'audio_output_type_t', 'midi_input_type_t'
  and 'engine_type_t' into the respective base classes
  ('AudioOutputDevice', 'MidiInputDevice', 'Engine')


Revision 56 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 27 09:21:58 2004 UTC (15 years, 5 months ago) by schoenebeck
File length: 26751 byte(s)
Diff to previous 53
updated copyright header for 2004


Revision 53 - (view) (download) (annotate) - [select for diffs]
Added Mon Apr 26 17:15:51 2004 UTC (15 years, 5 months ago) by schoenebeck
File length: 26751 byte(s)
* completely restructured source tree
* implemented multi channel support
* implemented instrument manager, which controls sharing of instruments
  between multiple sampler engines / sampler channels
* created abstract classes 'AudioOutputDevice' and 'MidiInputDevice' for
  convenient implementation of further audio output driver and MIDI input
  driver for LinuxSampler
* implemented following LSCP commands: 'SET CHANNEL MIDI INPUT TYPE',
  'LOAD ENGINE', 'GET CHANNELS', 'ADD CHANNEL', 'REMOVE CHANNEL',
  'SET CHANNEL AUDIO OUTPUT TYPE'
* temporarily removed all command line options
* LSCP server is now launched by default


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC