/[svn]/linuxsampler/trunk
ViewVC logotype

Log of /linuxsampler/trunk

View Directory Listing Directory Listing


Sticky Revision:

Revision 357 - Directory Listing
Modified Sun Feb 6 04:34:00 2005 UTC (19 years, 1 month ago) by senkov
* Removed mentioning of UDP from event unsubscription section.


Revision 356 - Directory Listing
Modified Fri Feb 4 00:27:20 2005 UTC (19 years, 1 month ago) by schoenebeck
* libgig: another memory leak and memory (de)allocation fix
  (patch by "Gene" a.k.a Anders Alm)


Revision 354 - Directory Listing
Modified Sat Jan 29 15:17:59 2005 UTC (19 years, 1 month ago) by schoenebeck
* support for keyswitching
* ignore if no sample was defined for region(s) or dimension region(s)
(patch by Andreas Persson)


Revision 351 - Directory Listing
Modified Tue Jan 25 22:11:43 2005 UTC (19 years, 1 month ago) by schoenebeck
* fixed some memory leaks (patch by Gene Anders)


Revision 349 - Directory Listing
Modified Tue Jan 25 01:05:33 2005 UTC (19 years, 1 month ago) by schoenebeck
raised verbosity of debug message in case of caching a whole sample


Revision 348 - Directory Listing
Modified Sun Jan 23 21:24:16 2005 UTC (19 years, 1 month ago) by schoenebeck
* another crossfade fix (honoring AttenuationController for case 0,0,0,0,
  fixed cases in_start = in_end = CrossfadeControllerValue, fixed curve for
  cases out_start < CrossfadeControllerValue < out_end, honoring
  InvertAttenuationController parameter)
* support for up to 8 dimensions as introduced by Gig V3
(patch by Andreas Persson)


Revision 346 - Directory Listing
Modified Fri Jan 21 17:17:31 2005 UTC (19 years, 2 months ago) by schoenebeck
* libgig: fixed vcf_type_lowpassturbo value, fixed crossfade points order
* gig::Voice: fixed special crossfade case 0,0,0,0 which actually means no
  crossfade defined


Revision 337 - Directory Listing
Modified Sun Jan 9 02:26:29 2005 UTC (19 years, 2 months ago) by senkov
* Fix for a core. SET CHANNEL AUDIO_OUTPUT_CHANNEL needs
 to check if audio output device exists.


Revision 336 - Directory Listing
Modified Mon Jan 3 03:33:51 2005 UTC (19 years, 2 months ago) by senkov
* Fixed a bug in assembly that cause crashes in some cases


Revision 335 - Directory Listing
Modified Mon Jan 3 02:48:25 2005 UTC (19 years, 2 months ago) by senkov
* Fixed pitch calculation. FineTune needs to be taken as is
 without multiplying it by 10.


Revision 333 - Directory Listing
Modified Sat Jan 1 08:18:07 2005 UTC (19 years, 2 months ago) by senkov
* Fix a basic diskthread multichannel issue.


Revision 332 - Directory Listing
Modified Sat Jan 1 03:06:06 2005 UTC (19 years, 2 months ago) by senkov
* Initialize the synthesis mode bitmask properly


Revision 331 - Directory Listing
Modified Thu Dec 30 04:00:03 2004 UTC (19 years, 2 months ago) by senkov
* Fixed bug with mixed channel creation


Revision 330 - Directory Listing
Modified Wed Dec 29 01:14:15 2004 UTC (19 years, 2 months ago) by schoenebeck
* fixed endless loop at the end of sample playback
  (patch by Andreas Persson)


Revision 329 - Directory Listing
Modified Tue Dec 28 09:43:04 2004 UTC (19 years, 2 months ago) by senkov
* Fixes for engine reloading. Fixed streaming bugs in some
 cases only, most probably not all yet.


Revision 328 - Directory Listing
Modified Sat Dec 25 21:58:58 2004 UTC (19 years, 2 months ago) by schoenebeck
* architecture independence fixes, should now compile again for non x86
  systems
* tiny fix of command line switch --version


Revision 326 - Directory Listing
Modified Tue Dec 21 04:59:11 2004 UTC (19 years, 3 months ago) by senkov
Added profiler class


Revision 325 - Directory Listing
Modified Tue Dec 21 04:54:37 2004 UTC (19 years, 3 months ago) by senkov
* Added some profiling capabilities, bugs.


Revision 324 - Directory Listing
Modified Sat Dec 18 18:54:46 2004 UTC (19 years, 3 months ago) by senkov
* Applied patch from Andreas Persson and made a few other small
 changes to fix a bug in the filter code.


Revision 323 - Directory Listing
Modified Tue Dec 14 00:32:21 2004 UTC (19 years, 3 months ago) by schoenebeck
* fixed bug which caused samples not to be played back to their actual end
  (patch by Andreas Persson, added a small extra fix)


Revision 322 - Directory Listing
Modified Mon Dec 13 03:33:59 2004 UTC (19 years, 3 months ago) by senkov
* fixed CalculateBiquadParameters() to set parameters for
 both right and left, not just left.


Revision 321 - Directory Listing
Modified Mon Dec 13 00:59:32 2004 UTC (19 years, 3 months ago) by schoenebeck
removed this cache file


Revision 320 - Directory Listing
Modified Mon Dec 13 00:53:16 2004 UTC (19 years, 3 months ago) by schoenebeck
* 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 319 - Directory Listing
Modified Mon Dec 13 00:46:42 2004 UTC (19 years, 3 months ago) by schoenebeck
* 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 318 - Directory Listing
Modified Sat Dec 4 14:18:04 2004 UTC (19 years, 3 months ago) by schoenebeck
* libgig: experimental support for Gigasampler v3 format; 64 bit file
  offsets are truncated to 32 bit, 24 bit samples are truncated  to 16 bit
  and additional articulation informations are ignored at the moment
  (patch by Andreas Persson)


Revision 309 - Directory Listing
Modified Sun Nov 21 18:07:42 2004 UTC (19 years, 4 months ago) by schoenebeck
* libgig: applied patch by Andreas Persson which improves accuracy of all
  three velocity response curves


Revision 294 - Directory Listing
Modified Mon Oct 25 15:21:43 2004 UTC (19 years, 4 months ago) by schoenebeck
added new methods for template class NonVolatileReader: free(), decrement
operator and pop() method variant which returns a pointer instead of
copying data


Revision 293 - Directory Listing
Modified Mon Oct 25 15:14:27 2004 UTC (19 years, 4 months ago) by schoenebeck
* 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 292 - Directory Listing
Modified Mon Oct 25 14:59:18 2004 UTC (19 years, 4 months ago) by schoenebeck
encapsulated error message into quotation marks


Revision 291 - Directory Listing
Modified Fri Oct 22 22:46:38 2004 UTC (19 years, 5 months ago) by schoenebeck
* applied patch from James Klicman which fixes some issues in configure.in


Revision 290 - Directory Listing
Modified Wed Oct 20 03:02:35 2004 UTC (19 years, 5 months ago) by senkov
* Quoted warnings to avoid unmatched single quote.


Revision 289 - Directory Listing
Modified Tue Oct 19 14:41:38 2004 UTC (19 years, 5 months ago) by schoenebeck
* LinuxSampler was badly broken with last commit, fixed that
* using now James Klicman's proposol to fix the reported linker problem
* Mutex.cpp: try to force UNIX98 compatibility (if not already supported)
* Makefile.cvs: generate (and clean) all necessary autotools files


Revision 288 - Directory Listing
Modified Tue Oct 19 00:36:34 2004 UTC (19 years, 5 months ago) by schoenebeck
* configure.in: added check for UNIX98 compatibility, check if there's at
  least one supported MIDI input and audio output system available, added
  conditionals for ALSA and JACK
* src/drivers/audio/Makefile.am: ALSA and JACK drivers are only compiled
  respectively if they're supported by the system
* MidiInputDeviceFactory.cpp, AudioOutputDeviceFactory.cpp: little
  workaround for reported linker problem
* removed autotools generated files from CVS


Revision 287 - Directory Listing
Modified Sat Oct 16 17:38:03 2004 UTC (19 years, 5 months ago) by schoenebeck
* 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 286 - Directory Listing
Modified Sat Oct 16 17:29:05 2004 UTC (19 years, 5 months ago) by schoenebeck
just added some sanity checks for debugging


Revision 285 - Directory Listing
Modified Thu Oct 14 21:31:26 2004 UTC (19 years, 5 months ago) by schoenebeck
* bunch of bugfixes (e.g. segfault on voice stealing)


Revision 284 - Directory Listing
Modified Thu Oct 14 21:24:39 2004 UTC (19 years, 5 months ago) by schoenebeck
raised EG_MIN_RELEASE_TIME a bit to avoid click sounds


Revision 283 - Directory Listing
Modified Thu Oct 14 21:22:02 2004 UTC (19 years, 5 months ago) by schoenebeck
sync with latest libgig version


Revision 281 - Directory Listing
Modified Tue Oct 12 20:46:13 2004 UTC (19 years, 5 months ago) by schoenebeck
tiny compatibility fix, patch by James Klicman


Revision 277 - Directory Listing
Modified Sat Oct 9 15:48:32 2004 UTC (19 years, 5 months ago) by schoenebeck
* compatibility fixes for old gcc 2.95.4


Revision 276 - Directory Listing
Modified Sat Oct 9 15:42:27 2004 UTC (19 years, 5 months ago) by schoenebeck
added tests against new Pool classes


Revision 275 - Directory Listing
Modified Sat Oct 9 15:40:35 2004 UTC (19 years, 5 months ago) by schoenebeck
src/common/Mutex.cpp only compiles on UNIX98 compatible systems


Revision 274 - Directory Listing
Modified Sat Oct 9 00:46:18 2004 UTC (19 years, 5 months ago) by schoenebeck
* MidiInputPort: fixed dispatching of MIDI events to engines which are
  listening to all MIDI channels
* switched MIDI channel indexing to low level indexing (means 0..15 now)


Revision 273 - Directory Listing
Modified Fri Oct 8 21:04:51 2004 UTC (19 years, 5 months ago) by schoenebeck
forgot to modify include for Pool.h


Revision 272 - Directory Listing
Modified Fri Oct 8 21:03:32 2004 UTC (19 years, 5 months ago) by schoenebeck
support for showing exceptions in realtime audio thread if these are
enabled in global.h


Revision 271 - Directory Listing
Modified Fri Oct 8 20:51:39 2004 UTC (19 years, 5 months ago) by schoenebeck
* 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 270 - Directory Listing
Modified Fri Oct 8 20:30:25 2004 UTC (19 years, 5 months ago) by schoenebeck
stacktrace routines by Bjorn Reese, only slightly modified:
- header file adjusted to work with C++ applications
- deactivated separated piping of debugger output, as it didn't work out
  correctly in multithreaded application


Revision 268 - Directory Listing
Modified Thu Oct 7 22:20:20 2004 UTC (19 years, 5 months ago) by capela
* gcc-c++ 3.4.1 compability fixes.


Revision 260 - Directory Listing
Modified Wed Sep 29 03:34:16 2004 UTC (19 years, 5 months ago) by senkov
Added myself to AUTHORS file per Christian's request.


Revision 259 - Directory Listing
Modified Wed Sep 29 03:16:01 2004 UTC (19 years, 5 months ago) by senkov
* Fixed a hang in stage_fadeout


Revision 252 - Directory Listing
Modified Thu Sep 23 21:33:43 2004 UTC (19 years, 5 months ago) by schoenebeck
* fixed another bug in EGADSR which caused clicks when voices were killed
  near the audio fragment end


Revision 251 - Directory Listing
Modified Mon Sep 20 12:27:48 2004 UTC (19 years, 6 months ago) by schoenebeck
* changed curve type from exponential to linear in stage 'end' of
  EGADSR (fixes click sounds at the end of voices)


Revision 250 - Directory Listing
Modified Mon Sep 20 00:31:13 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 249 - Directory Listing
Modified Mon Sep 20 00:26:40 2004 UTC (19 years, 6 months ago) by schoenebeck
reduced EG_MIN_RELEASE_TIME to allow to finish kill process of a voice
within the same audio fragment, this will be e.g. be mandatory for voice
stealing


Revision 248 - Directory Listing
Modified Mon Sep 20 00:20:13 2004 UTC (19 years, 6 months ago) by schoenebeck
added pool_is_empty() methods


Revision 247 - Directory Listing
Modified Sun Sep 19 23:44:23 2004 UTC (19 years, 6 months ago) by senkov
* Small fix to pan coeff. calculation.
* (LS was silent with gigs where pan was 0).


Revision 246 - Directory Listing
Modified Sun Sep 19 14:12:55 2004 UTC (19 years, 6 months ago) by schoenebeck
just tidied up event type specific parameters (that is note-on specific
parameters, controle change specific parameters, etc.) in Event class


Revision 245 - Directory Listing
Modified Sat Sep 18 14:12:36 2004 UTC (19 years, 6 months ago) by schoenebeck
* support patch panorama info


Revision 244 - Directory Listing
Modified Fri Sep 17 01:01:11 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for scale tuning via MIDI GS system exclusive message


Revision 243 - Directory Listing
Modified Fri Sep 17 00:52:48 2004 UTC (19 years, 6 months ago) by schoenebeck
added inner class 'NonVolatileReader' which allows random access reading
from a RingBuffer without having to worry that read space could get freed
by access operations


Revision 242 - Directory Listing
Modified Wed Sep 15 13:59:08 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 - Directory Listing
Modified Sun Sep 12 14:48:19 2004 UTC (19 years, 6 months ago) by schoenebeck
* 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 238 - Directory Listing
Modified Sun Sep 12 14:09:02 2004 UTC (19 years, 6 months ago) by schoenebeck
state chart diagram of the gig::Engine's ADSR envelope generator


Revision 237 - Directory Listing
Modified Sun Sep 12 01:59:40 2004 UTC (19 years, 6 months ago) by senkov
* Fixed a crash in EGADSR::Process()


Revision 236 - Directory Listing
Modified Thu Sep 9 18:44:18 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for crossfades
* support sample playback start offset


Revision 233 - Directory Listing
Modified Tue Sep 7 09:32:21 2004 UTC (19 years, 6 months ago) by schoenebeck
* added support for layers
* fixed initial pitch calculation which did not honor the sample's own
  sample rate


Revision 232 - Directory Listing
Modified Sun Sep 5 00:55:44 2004 UTC (19 years, 6 months ago) by schoenebeck
* libgig: fixed / improved accuracy of all three velocity to volume
  transformation functions (a.k.a. 'nonlinear','linear','special')


Revision 230 - Directory Listing
Modified Thu Sep 2 21:52:29 2004 UTC (19 years, 6 months ago) by schoenebeck
* src/engines/gig/Voice.cpp: dimension region selection takes current
  MIDI controller values into account


Revision 228 - Directory Listing
Modified Sat Aug 28 14:55:34 2004 UTC (19 years, 6 months ago) by schoenebeck
* src/network/lscp.y: fixed symbol 'midi_input_channel_index' to allow
  keyword 'ALL' for the respective LSCP commands


Revision 227 - Directory Listing
Modified Thu Aug 26 22:05:44 2004 UTC (19 years, 6 months ago) by schoenebeck
* ALSA audio driver: bugfix in device parameter 'CARD' which caused an
  error message if used in conjunction with 'CREATE AUDIO_OUTPUT_DEVICE'
  LSCP command
* JACK audio driver: fixed minor JACK port name issue and the device was
  not activated by default on creation which caused it to render solely
  silence
* src/network/lscpserver.cpp: retry to bind socket for 3 minutes if bind
  failed


Revision 226 - Directory Listing
Modified Wed Aug 25 22:00:33 2004 UTC (19 years, 6 months ago) by schoenebeck
* ALSA MIDI driver: create one MIDI port by default, implemented parameter
  info for parameter 'ALSA_SEQ_BINDINGS'
* ALSA audio driver: implemented parameter info for driver parameters
  'FRAGMENTS' and 'FRAGMENTSIZE'
* JACK audio driver: fixed creation of channels on device creation, channel
  parameter 'NAME' now actually updates the respective JACK port name,
  implemented channel parameter 'JACK_BINDINGS' (as well as its parameter
  info)
* src/network/lscpserver.cpp: fixed commands
  "GET MIDI_INPUT_DRIVER_PARAMETER INFO" and
  "GET AUDIO_OUTPUT_DRIVER_PARAMETER  INFO", fixed backward compatibility
  for "SET AUDIO_OUTPUT_TYPE" and "SET MIDI_INPUT_TYPE" commands
* src/networ/lscp.y: added comma character (',') to symbol 'char'
* src/drivers/DeviceParameter.cpp: fixed methods RangeMin(), RangeMax() in
  class DeviceCreationParameterInt which returned wrong values


Revision 225 - Directory Listing
Modified Sun Aug 22 14:46:47 2004 UTC (19 years, 7 months ago) by schoenebeck
* 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 224 - Directory Listing
Modified Sat Aug 21 15:31:36 2004 UTC (19 years, 7 months ago) by schoenebeck
added test against "SET ECHO" LSCP command


Revision 223 - Directory Listing
Modified Sat Aug 21 11:43:53 2004 UTC (19 years, 7 months ago) by schoenebeck
* bug fixes in LSCP server (returned '1'/'0' instead of 'true'/'false' for
  binary fields, spuriously created new elements in maps while trying to
  find map members)


Revision 222 - Directory Listing
Modified Sat Aug 21 11:35:50 2004 UTC (19 years, 7 months ago) by schoenebeck
changed all driver names and parameter names to upper case


Revision 221 - Directory Listing
Modified Fri Aug 20 17:25:19 2004 UTC (19 years, 7 months ago) by schoenebeck
* src/drivers/midi/MidiInputDeviceAlsa.cpp: implemented port parameter
 "NAME" which now updates the registered ALSA seq port name as well, fixed
  port parameter "ALSA_SEQ_BINDINGS" to allow more than one binding
* src/network/lscp.y: fixed symbol STRINGVAL (that is strings encapsulated
  into apostrophes) which didn't allow space characters
* changed all driver names and driver paramaters to upper case
* fixed typo in LSCP documentation
  (section 5.3.12, was: "SET MIDI_INPUT_PORT PARAMETER",
   should be: "SET MIDI_INPUT_PORT_PARAMETER")


Revision 219 - Directory Listing
Modified Tue Aug 17 20:35:04 2004 UTC (19 years, 7 months ago) by schoenebeck
* completely removed the lex scanner and replaced it by pure yacc rules
  for all terminal symbols (that is command keywords and variables) to
  avoid misunderstandings while parsing (e.g. recognition of command
  keywords in string arguments)
* src/drivers/audio/AudioChannel.cpp: changed channel parameter 'Name' to
 'NAME' as defined in the LSCP documentation


Revision 218 - Directory Listing
Modified Sun Aug 15 20:18:55 2004 UTC (19 years, 7 months ago) by schoenebeck
bugfix in client receive code


Revision 217 - Directory Listing
Modified Sun Aug 15 18:52:23 2004 UTC (19 years, 7 months ago) by schoenebeck
added test for "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO" LSCP command


Revision 216 - Directory Listing
Modified Sun Aug 15 17:25:31 2004 UTC (19 years, 7 months ago) by schoenebeck
print cause to standard error channel instead of standard out and flush
right after


Revision 215 - Directory Listing
Modified Sun Aug 15 10:38:46 2004 UTC (19 years, 7 months ago) by schoenebeck
scanner now also allows quotation marks for STRINGVAL tokens


Revision 214 - Directory Listing
Modified Sat Aug 14 23:00:44 2004 UTC (19 years, 7 months ago) by schoenebeck
* src/drivers/DeviceParameter.cpp: fixed return values for
classes 'DeviceRuntimeParameterString' and 'DeviceCreationParameterString'
which returned their values without being encapsulated into apostrophes,
fixed return values for 'DeviceRuntimeParameterBool' and
'DeviceCreationParameterBool' to be returned in lower case (as defined in
the LSCP documentation)
* src/network/lscp.y: key value pairs now also allow strings (without
spaces) to be not encapsulated into apostrophes (e.g. foo=bar instead of
foo='bar')
* src/linuxsampler.cpp: show on the console which TCP port the LSCP server
is using


Revision 212 - Directory Listing
Modified Wed Jul 28 14:17:29 2004 UTC (19 years, 7 months ago) by schoenebeck
* introduced and implemented new LSCP command "RESET" which resets the
  whole sampler instance
* src/drivers/audio/AudioOutputDeviceAlsa.cpp: parameter 'card' now
  returns all available sound cards as possibility, added dependency to
  parameter 'card' to parameters 'fragments' and 'fragmentsize'
* src/drivers/DeviceParameter.cpp: fixed return value(s) for classes
  'DeviceCreationParameterString' and 'DeviceCreationParameterStrings'
  which returned the default value(s) not encapsulated into apostrophes
* src/network/lscpserver.cpp: fixed implementation of LSCP commands
  "GET MIDI_INPUT_DRIVER_PARAMETER INFO" and
  "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"


Revision 211 - Directory Listing
Modified Sun Jul 25 23:27:41 2004 UTC (19 years, 7 months ago) by schoenebeck
* src/linuxsampler.cpp: tidied up a bit, "initialization completed"
  message shown only after the server is actually running
* src/testcases/: print the name of each test suite before running the
  tests of the suite, added first tests against the LSCP server using a
  socket connection to the LSCP server (tests for the following LSCP
  commands: "ADD CHANNEL", "GET CHANNELS", "REMOVE CHANNEL")


Revision 210 - Directory Listing
Modified Sat Jul 24 12:33:49 2004 UTC (19 years, 7 months ago) by schoenebeck
* implemented "SET ECHO" LSCP command


Revision 209 - Directory Listing
Modified Sun Jul 18 00:29:39 2004 UTC (19 years, 8 months ago) by schoenebeck
* src/Sampler.cpp: changed sampler channel index allocation from consistent
channel index allocation to incrementing channel index allocation, that is
it doesn't fill channel index gaps anymore (to avoid race conditions)
* implemented "LIST CHANNELS" LSCP command


Revision 208 - Directory Listing
Modified Thu Jul 15 22:20:28 2004 UTC (19 years, 8 months ago) by schoenebeck
removed unnecessary #include


Revision 207 - Directory Listing
Modified Thu Jul 15 21:51:15 2004 UTC (19 years, 8 months ago) by schoenebeck
* src/linuxsampler.cpp: print out LinuxSampler version and show all
  registered MIDI input drivers
* renamed class 'InputOutputDevice' -> 'Device'


Revision 206 - Directory Listing
Modified Wed Jul 14 19:27:53 2004 UTC (19 years, 8 months ago) by schoenebeck
fixed little accident in section 5.4.10 that happened by the conversion
from the document's old OpenOffice format


Revision 205 - Directory Listing
Modified Tue Jul 13 23:16:40 2004 UTC (19 years, 8 months ago) by schoenebeck
accidently commited this file


Revision 204 - Directory Listing
Modified Tue Jul 13 22:54:25 2004 UTC (19 years, 8 months ago) by schoenebeck
forgot to change some things which was mandatory due to the recent
directory movements ('/src/audiodriver' -> '/src/drivers/audio',
'/src/mididriver' -> '/src/drivers/midi')


Revision 203 - Directory Listing
Modified Tue Jul 13 22:44:13 2004 UTC (19 years, 8 months ago) by schoenebeck
forgot to change some things which was mandatory due to the recent
directory movements ('/src/audiodriver' -> '/src/drivers/audio',
'/src/mididriver' -> '/src/drivers/midi')


Revision 202 - Directory Listing
Modified Tue Jul 13 22:17:10 2004 UTC (19 years, 8 months ago) by schoenebeck
* moved directory '/src/audiodriver' -> '/src/drivers/audio'
* moved directory '/src/mididriver' -> '/src/drivers/midi'


Revision 201 - Directory Listing
Modified Tue Jul 13 22:10:21 2004 UTC (19 years, 8 months ago) by schoenebeck
moved directory '/src/mididriver' -> '/src/drivers/midi'


Revision 200 - Directory Listing
Modified Tue Jul 13 22:04:16 2004 UTC (19 years, 8 months ago) by schoenebeck
moved directory '/src/audiodriver' -> '/src/drivers/audio'


Revision 198 - Directory Listing
Modified Tue Jul 13 15:36:16 2004 UTC (19 years, 8 months ago) by senkov
* Get rid of the timeout on select()


Revision 185 - Directory Listing
Modified Wed Jul 7 02:49:51 2004 UTC (19 years, 8 months ago) by senkov
* GET MIDI_INPUT_PORT_PARAMETER INFO command


Revision 184 - Directory Listing
Modified Wed Jul 7 02:00:37 2004 UTC (19 years, 8 months ago) by senkov
* Added MISCELLANEOUS event to help debugging client/server
interaction. It spits out every line received by the server.


Revision 175 - Directory Listing
Modified Tue Jul 6 04:41:23 2004 UTC (19 years, 8 months ago) by senkov
This goes with the previous commit.
Forgot to commit this file previously.


Revision 174 - Directory Listing
Modified Tue Jul 6 03:27:38 2004 UTC (19 years, 8 months ago) by senkov
* Reworked the infrastructure to allow for parameter
registration and creation
* Changed alsa audio output and midi drivers
to work with new infrastructure


Revision 173 - Directory Listing
Modified Tue Jul 6 03:18:03 2004 UTC (19 years, 8 months ago) by senkov
moved ToString() out


Revision 170 - Directory Listing
Modified Sat Jul 3 20:08:07 2004 UTC (19 years, 8 months ago) by senkov
* moved ToString to common
* Implemented handling of multiple connections
* Implemented guts for event subscription/unsubscription
* Illustrated event notification sending by sending MISC events
when connections are established or terminated.


Revision 169 - Directory Listing
Modified Fri Jul 2 23:49:12 2004 UTC (19 years, 8 months ago) by senkov
* Do not use accessor operator for the map unless
the element accessed already exists


Revision 165 - Directory Listing
Modified Thu Jul 1 04:25:55 2004 UTC (19 years, 8 months ago) by senkov
* Small enhancement to mutex class to support Trylock()


Revision 164 - Directory Listing
Modified Thu Jul 1 02:30:50 2004 UTC (19 years, 8 months ago) by senkov
Something overlooked earlier. NAME -> Name


Revision 160 - Directory Listing
Modified Tue Jun 29 21:44:12 2004 UTC (19 years, 8 months ago) by capela
Parser regeneration missed on last commit.


Revision 159 - Directory Listing
Modified Tue Jun 29 21:11:50 2004 UTC (19 years, 8 months ago) by capela
* Unconsolidaded MIDI input related channel commands are back:
  SET CHANNEL MIDI_INPUT_DEVICE <chan> <midi-device>
  SET CHANNEL MIDI_INPUT_PORT <chan> <midi-port>
  SET CHANNEL MIDI_INPUT_CHANNEL <chan> <midi-chan>

* Still useful for compability with legacy clients, an almost
  deprecated command gets re-implemented:
  SET CHANNEL MIDI_INPUT_TYPE <chan> <midi-driver>

* Optional parameter list on MIDI input device creation fixed,
  but not quite fully effective yet:
  CREATE MIDI_INPUT_DEVICE <midi-driver> [<key>=<val>...]


Revision 157 - Directory Listing
Modified Tue Jun 29 00:50:38 2004 UTC (19 years, 8 months ago) by senkov
* Removed/cleaned up some left over stuff
* Fixed midi port name parameter (no longer static)


Revision 155 - Directory Listing
Modified Mon Jun 28 04:30:11 2004 UTC (19 years, 8 months ago) by senkov
* Updated parser, lscp server and sampler class for new MIDI_INPUT
* Minor fixes (and major new bugs) here and there
* Consolidated 3 SET CHANNEL MIDI_xxx commands into one:
SET CHANNEL MIDI_INPUT


Revision 154 - Directory Listing
Modified Mon Jun 28 04:23:03 2004 UTC (19 years, 8 months ago) by senkov
* Fixed object deletion


Revision 153 - Directory Listing
Modified Mon Jun 28 04:21:11 2004 UTC (19 years, 8 months ago) by senkov
* Updated MIDI infrastructure similar to what was previously
done with the AUDIO
* Implemented Alsa driver using new infrastructure
* TODO: MacOS drivers!


Revision 151 - Directory Listing
Modified Sat Jun 26 19:53:46 2004 UTC (19 years, 8 months ago) by schoenebeck
* added directory 'Documentation'
* network protocol document now under CVS, converted from latest document
  (http://www.linuxsampler.org/api/draft-linuxsampler-protocol-11.sxw)
  into XML (Documentation/lscp.xml), lscp.xml is compliant to RFC 2629 and
  can be converted into HTML or RFC common ASCII format by using 'xml2rfc'
  (http://xml.resource.org/)


Revision 143 - Directory Listing
Modified Wed Jun 23 18:54:08 2004 UTC (19 years, 8 months ago) by capela
* SET CHANNEL AUDIO_OUTPUT_TYPE <chan> <driver> command is back!
  creates an audio output device instance of the given driver type
  ('Jack' or 'Alsa') with default parameters if none exists,
  otherwise it just picks the first available device and assign
  it to the intended sampler channel.

* The AudioOutputDevice class get's a new pure virtual method,
  Driver(), which is implemented on both of the existing inherited
  classes, AudioOutputDeviceAlsa and AudioOutputDeviceJack, with
  the sole purpose to return the driver type name as a String
  ('Alsa' and 'Jack', respectively).

* The quoting on the filename argument for the LOAD INSTRUMENT
  command has been made optional; you can have both ways, with
  single quotes or none, keeping compability with older LSCP
  specification.

* An additional sanity check is made on LOAD INSTRUMENT, whether
  the sampler channel has an audio output device assigned, thus
  preventing the server from crashing on instrument file load.

* The GET AUDIO_OUTPUT_DEVICE INFO now includes the missing
  'driver' item, as predicted by the draft protocol document.


Revision 142 - Directory Listing
Modified Tue Jun 22 00:02:17 2004 UTC (19 years, 9 months ago) by senkov
* Added implementation for SET CHANNEL AUDIO_OUTPUT_DEVICE


Revision 141 - Directory Listing
Modified Mon Jun 21 01:21:33 2004 UTC (19 years, 9 months ago) by senkov
* LOAD INSTRUMENT NON_MODAL


Revision 140 - Directory Listing
Modified Mon Jun 21 00:23:56 2004 UTC (19 years, 9 months ago) by senkov
Cleanup for GCC bug workaround


Revision 139 - Directory Listing
Modified Sun Jun 20 23:42:44 2004 UTC (19 years, 9 months ago) by senkov
* Fixes and hacks to make CREATE AUDIO_OUTPUT_DEVICE work


Revision 138 - Directory Listing
Modified Sun Jun 20 23:18:24 2004 UTC (19 years, 9 months ago) by senkov
* Fix for CREATE_AUDIO_OUTPUT_DEVICE with all default params
* Fix for GET AUDIO_OUTPUT_DEVICES resultset
* Support for BACKGROUND loading


Revision 137 - Directory Listing
Modified Sun Jun 20 16:49:47 2004 UTC (19 years, 9 months ago) by capela
* Changed LSCPServer::LoadInstrument() signature, which adds a new
  boolean argument (bool bBackground) where the loading mode maybe
  selected, whether modal (the default), or modeless (in background).


Revision 136 - Directory Listing
Modified Sun Jun 20 16:03:35 2004 UTC (19 years, 9 months ago) by senkov
* Update audiodriver to supply parameters in compliance
 with the latest LSCP spec


Revision 135 - Directory Listing
Modified Sun Jun 20 16:01:50 2004 UTC (19 years, 9 months ago) by senkov
* Update parser to comply with the latest spec


Revision 134 - Directory Listing
Modified Sun Jun 20 15:12:05 2004 UTC (19 years, 9 months ago) by senkov
* small but important typo fix in optional.h


Revision 133 - Directory Listing
Modified Fri Jun 18 14:29:02 2004 UTC (19 years, 9 months ago) by capela
* 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 129 - Directory Listing
Modified Tue Jun 15 03:30:16 2004 UTC (19 years, 9 months ago) by senkov
Small change to generate "NA" resultset using resultset class.


Revision 128 - Directory Listing
Modified Tue Jun 15 03:19:30 2004 UTC (19 years, 9 months ago) by senkov
* Remove calls to pure virtual from constructor of base class
 to avoid runtime failure. InitWithDefault() will have to be called
 from the constructor of the class where virtuals are implemented.


Revision 124 - Directory Listing
Modified Mon Jun 14 19:37:42 2004 UTC (19 years, 9 months ago) by schoenebeck
forgot to commit with the last batch, needed as I added a new directory
'src/drivers'


Revision 123 - Directory Listing
Modified Mon Jun 14 19:33:16 2004 UTC (19 years, 9 months ago) by schoenebeck
* 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 121 - Directory Listing
Modified Sat Jun 12 07:46:02 2004 UTC (19 years, 9 months ago) by senkov
typo in case statement (while doing string replace forgot to add breaks)


Revision 120 - Directory Listing
Modified Sat Jun 12 07:29:37 2004 UTC (19 years, 9 months ago) by senkov
* Error handling in resultset class, rewrite lscpserver to use resultset.


Revision 117 - Directory Listing
Modified Tue Jun 8 01:29:08 2004 UTC (19 years, 9 months ago) by senkov
Updated GET CHANNEL INFO to send uninitialized params with "NONE"/0


Revision 116 - Directory Listing
Modified Tue Jun 8 00:48:20 2004 UTC (19 years, 9 months ago) by senkov
Added comments


Revision 113 - Directory Listing
Modified Sun Jun 6 20:59:49 2004 UTC (19 years, 9 months ago) by senkov
* Added LSCP command GET CHANNEL INFO


Revision 112 - Directory Listing
Modified Sun Jun 6 20:57:28 2004 UTC (19 years, 9 months ago) by senkov
* Added methods for CHANNEL_INFO command


Revision 111 - Directory Listing
Modified Sat Jun 5 20:55:50 2004 UTC (19 years, 9 months ago) by schoenebeck
* LSCP allows now comment lines, that is lines starting with a hash ('#')
  character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug


Revision 99 - Directory Listing
Modified Tue Jun 1 16:19:40 2004 UTC (19 years, 9 months ago) by letz
* Do polynomial interpolation computation in float


Revision 97 - Directory Listing
Modified Mon May 31 19:28:09 2004 UTC (19 years, 9 months ago) by schoenebeck
* src/engines/gig/Voice.h: fixed bug which caused to hear only one audio
  channel


Revision 90 - Directory Listing
Modified Tue May 25 18:14:15 2004 UTC (19 years, 9 months ago) by letz
* Correct KeyOn with velocity = O bug


Revision 88 - Directory Listing
Modified Mon May 24 15:22:56 2004 UTC (19 years, 9 months ago) by letz
cleanup


Revision 87 - Directory Listing
Modified Mon May 24 12:48:57 2004 UTC (19 years, 9 months ago) by letz
* New type_core_midi and type_midishare types


Revision 86 - Directory Listing
Modified Mon May 24 12:41:50 2004 UTC (19 years, 9 months ago) by letz
* First import of MidiShare device


Revision 85 - Directory Listing
Modified Mon May 24 09:59:38 2004 UTC (19 years, 9 months ago) by letz
first import of CoreMidi driver


Revision 84 - Directory Listing
Modified Sun May 23 20:17:31 2004 UTC (19 years, 10 months ago) by schoenebeck
forgot to remove a redundant assignment (only a small efficiency issue)


Revision 83 - Directory Listing
Modified Sun May 23 19:47:59 2004 UTC (19 years, 10 months ago) by schoenebeck
forgot to actually reduce the debug level value (to 1) with the last
commit batch


Revision 82 - Directory Listing
Modified Sun May 23 19:20:32 2004 UTC (19 years, 10 months ago) by schoenebeck
this file was accidently commited a while ago, so I removed it


Revision 81 - Directory Listing
Modified Sun May 23 19:18:06 2004 UTC (19 years, 10 months ago) by schoenebeck
fixed little typo


Revision 80 - Directory Listing
Modified Sun May 23 19:16:33 2004 UTC (19 years, 10 months ago) by schoenebeck
* 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 79 - Directory Listing
Modified Sat May 22 06:33:55 2004 UTC (19 years, 10 months ago) by senkov
* Fixed SET CHANNEL MIDI_INPUT_CHANNEL lscp command.


Revision 76 - Directory Listing
Modified Fri May 14 19:10:21 2004 UTC (19 years, 10 months ago) by senkov
fix small make problem when jack is not installed


Revision 68 - Directory Listing
Modified Sat May 8 19:03:17 2004 UTC (19 years, 10 months ago) by senkov
* Adding LSCP command SET CHANNEL MIDI_INPUT_PORT. First attempt.


Revision 67 - Directory Listing
Modified Sat May 8 18:51:51 2004 UTC (19 years, 10 months ago) by senkov
Fixed build problem with dependency on JACK_LIBS variable


Revision 66 - Directory Listing
Modified Sat May 8 17:52:56 2004 UTC (19 years, 10 months ago) by senkov
Fixed build problem with dependency on JACK_LIBS variable


Revision 65 - Directory Listing
Modified Fri May 7 22:36:45 2004 UTC (19 years, 10 months ago) by schoenebeck
* src/audiodriver/AudioOutputDeviceJack.cpp: fixed another stupid bug that
  caused a segmentation fault when the Jack audio driver was loaded


Revision 64 - Directory Listing
Modified Thu May 6 20:06:20 2004 UTC (19 years, 10 months ago) by schoenebeck
* 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 63 - Directory Listing
Modified Tue May 4 18:52:24 2004 UTC (19 years, 10 months ago) by schoenebeck
* src/common/Thread.cpp: threads are now stoppable even if they are
  waiting for a condition
* src/common/Condition.cpp: fixed little misbehavior of Set() method,
  which locked the Condition object on return
* src/testcases: added a couple of new unit tests (against classes
  'Mutex', 'Condition' and 'Thread')


Revision 61 - Directory Listing
Modified Mon May 3 19:29:44 2004 UTC (19 years, 10 months ago) by schoenebeck
forgot to update copyright header for 2004 for following files:
src/linuxsampler.cpp,
src/Sampler.h,
src/Sampler.cpp,
src/network/lscpscanner.cpp


Revision 57 - Directory Listing
Modified Sun May 2 17:45:43 2004 UTC (19 years, 10 months ago) by schoenebeck
* src/common/Thread.cpp: method StartThread() now blocks until thread
  actually runs, mlockall() will only be applied for realtime threads
* libtoolized liblinuxsampler
* initiated automatic unit tests against the LinuxSampler codebase
  (see src/testcases): already added a couple of tests for the Thread and
  Mutex classes, you have to explicitly compile the unit tests by running
  'make testcases' (you need to have cppunit installed though) and then you
  can run the console version of the test runner by calling
  'src/testcases/linuxsamplertest'
* src/Sampler.h: added API documentation


Revision 56 - Directory Listing
Modified Tue Apr 27 09:21:58 2004 UTC (19 years, 10 months ago) by schoenebeck
updated copyright header for 2004


Revision 54 - Directory Listing
Modified Mon Apr 26 17:21:29 2004 UTC (19 years, 10 months ago) by schoenebeck
postponed removal of src/diskthread.cpp due to a conflict


Revision 53 - Directory Listing
Modified Mon Apr 26 17:15:51 2004 UTC (19 years, 10 months ago) by schoenebeck
* 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


Revision 42 - Directory Listing
Modified Sun Apr 11 17:25:38 2004 UTC (19 years, 11 months ago) by senkov
* Fixed bug in AskForCreatedStream(). Cored if stream was not created.


Revision 41 - Directory Listing
Modified Wed Mar 31 10:28:42 2004 UTC (19 years, 11 months ago) by schoenebeck
removed unnecessary dependencies


Revision 40 - Directory Listing
Modified Tue Mar 30 13:14:58 2004 UTC (19 years, 11 months ago) by schoenebeck
* added Envelope Generator 2 and 3 (filter cutoff EG and pitch EG) for
  accurate .gig playback
* fixed accuracy of pitch calculation
* changed filter cutoff range to 100Hz..10kHz with exponential curve, this
  value range can also be adjusted on compile time by setting
  FILTER_CUTOFF_MIN and FILTER_CUTOFF_MAX in src/voice.h to desired
  frequencies
* src/lfo.h: lfo is now generalized to a C++ template, which will be useful
  especially when we implement further engines


Revision 39 - Directory Listing
Modified Sun Mar 21 16:09:43 2004 UTC (20 years ago) by schoenebeck
* implemented all three low frequency oscillators (LFO1 = volume,
  LFO2 = filter cutoff frequency, LFO3 = pitch) for accurate .gig playback


Revision 38 - Directory Listing
Modified Tue Mar 16 13:25:39 2004 UTC (20 years ago) by schoenebeck
* added filters (lowpass, bandpass and highpass), note that filter code is
  currently disabled by default, you have to explicitly enable it in
  src/voice.h by setting define ENABLE_FILTER to 1
* src/eg_vca.cpp: Decay_1 stage now using exponential curve


Revision 37 - Directory Listing
Modified Wed Mar 10 22:01:36 2004 UTC (20 years ago) by schoenebeck
* src/eg_vca.cpp: added following transitions to the envelope generator:
  'Attack_Hold' -> 'Release', 'Decay_1' -> 'Release' in case of a release
  event
* EG1 parameters 'Attack Time', 'Release Time' and 'Sustain Time' are now
  controllable by a MIDI controller defined in the .gig file
* src/voice.cpp: fixed bug in pitch calculation which caused new triggered
  voices to be played back without honoring the current pitch bend value


Revision 35 - Directory Listing
Modified Fri Mar 5 13:46:15 2004 UTC (20 years ago) by schoenebeck
* implemented parser for the LinuxSampler control protocol (LSCP) by using
  flex / bison (where src/network/lscp.l is the input file for lex / flex
  and src/network/lscp.y is the input file for yacc / bison), parser and
  scanner can be regenerated by 'make parser'
* implemented LSCP network server (only single threaded so far), LSCP
  server will be launched if LinuxSampler was started with "--server" flag,
  implemented the following LSCP commands so far: "LOAD INSTRUMENT", "GET
  CHANNEL VOICE_COUNT", "GET CHANNEL STREAM_COUNT", "GET CHANNEL
  BUFFER_FILL", "SET CHANNEL VOLUME" and "RESET CHANNEL"
* disk thread now started within the engine


Revision 33 - Directory Listing
Modified Mon Feb 16 19:30:42 2004 UTC (20 years, 1 month ago) by schoenebeck
* implemented bidirectional voice state transition, means voice state can
  switch arbitrary times between 'Sustained'<-->'Released' within it's life
  time, thus the release process of a voice can be cancelled
* src/eg_vca.cpp: extended envelope generator by additional states
  ('Attack_Hold', 'Decay_1' and 'Decay_2')
* applied patch from Vladimir Senkov which adds new command line parameters
  ('--jackout', '--alsaout' and '--samplerate')
* configure.in: fixed compiler warning


Revision 32 - Directory Listing
Modified Tue Feb 3 13:21:19 2004 UTC (20 years, 1 month ago) by schoenebeck
* introduced time stamped events
* implemented jitter correction
* added pitchbend wheel support
* src/audiothread.cpp: using voice pool instead of a voice array, makes
  voice allocation more efficient and code more readable
* src/rtelmemorypool: redesigned, added some new methods and pool is now
  derived from list


Revision 31 - Directory Listing
Modified Sun Jan 18 20:31:31 2004 UTC (20 years, 2 months ago) by schoenebeck
* Added JACK support: Audio rendering process is now callback based and
  independant of used audio output system. Interfaces to other audio output
  systems can be added by creating a class derived from abstract base class
  'AudioIO' and embedding the new class into linuxsampler.cpp.
* src/audiothread.cpp: applied patch from Vladimir Senkov which fixes
  hanging notes in conjunction with the sustain pedal


Revision 30 - Directory Listing
Modified Sun Jan 11 16:43:54 2004 UTC (20 years, 2 months ago) by schoenebeck
* implemented amplitude envelope generator
* src/voice.cpp: some .gig instruments still sounded detuned, I hope
  finally to have this fixed now


Revision 29 - Directory Listing
Modified Fri Jan 2 00:05:42 2004 UTC (20 years, 2 months ago) by schoenebeck
updated Make files (autoconf 2.58, automake 1.6.3)


Revision 28 - Directory Listing
Modified Fri Jan 2 00:02:56 2004 UTC (20 years, 2 months ago) by schoenebeck
* src/gig.cpp: fixed looping informations ('LoopStart', 'LoopEnd' and
  'LoopSize')
* src/voice.cpp: pitch sample according to keyboard position only if
  keyrange > 1 key, this was the reason that some gig files were horrible
  detuned
* src/audioio.cpp: bigendian specific fix
* src/ringbuffer.h: removed kernel header dependency by adding own atomic.h


Revision 26 - Directory Listing
Modified Fri Dec 26 16:39:58 2003 UTC (20 years, 2 months ago) by schoenebeck
* implemented looping; RAM only loops (that is loops that end within the
  cached part of the sample) are handled in src/voice.cpp whereas
  disk stream looping is handled in src/stream.cpp and is mostly covered
  there by the new ReadAndLoop() method in class 'Sample' from src/gig.cpp


Revision 25 - Directory Listing
Modified Fri Dec 26 16:18:54 2003 UTC (20 years, 2 months ago) by schoenebeck
minor fix in Chunk::Read() method (only a minor efficiency issue)


Revision 23 - Directory Listing
Modified Thu Dec 25 18:03:43 2003 UTC (20 years, 2 months ago) by schoenebeck
src/midiin.cpp: fixed SubscribeToClient() method which is mandatory for the
command line switch --inputclient added with the recent commit batch


Revision 22 - Directory Listing
Modified Thu Dec 25 01:28:38 2003 UTC (20 years, 2 months ago) by schoenebeck
gig.cpp, gig.h: added method GetInstrument(uint index) to class 'File'
which is needed for the new command line switch --instrument in
linuxsampler.cpp (forgot this to commit with the recent commit batch)


Revision 20 - Directory Listing
Modified Thu Dec 25 00:02:45 2003 UTC (20 years, 2 months ago) by schoenebeck
* added command line switch --volume to set the global volume level
* added command line switch --inputclient to connect to an Alsa sequencer
  input client on startup (e.g. a MIDI port with a keyboard)
* added command line switch --instrument to select an instrument in case
  the instrument file provides more than one instrument


Revision 18 - Directory Listing
Modified Sun Dec 7 05:03:43 2003 UTC (20 years, 3 months ago) by schoenebeck
* src/audioio.cpp: added support for Alsa 1.0.0
* src/audiothread.cpp: fixed several bugs in sustain pedal handling
* src/diskthread.cpp: fixed several bugs which occured under extreme
  conditions (endless loop in audiothread, freezing the whole application,
  outage of available disk streams)
* src/voice.cpp: fixed cubic interpolation (disabled by default; you can
  enable it by setting USE_LINEAR_INTERPOLATION to 0 in src/voice.h)
* src/configure.in: added check for Alsa version


Revision 17 - Directory Listing
Modified Sat Nov 29 15:17:48 2003 UTC (20 years, 3 months ago) by schoenebeck
* implemented velocity->volume mapping: samples are now played back with a
  volume appropriate to the velocity of the triggered key, the velocity
  curve transformation functions (in src/gig.h) used for this are so far
  only an approximation to the ones from Gigasampler


Revision 15 - Directory Listing
Modified Sun Nov 23 21:16:49 2003 UTC (20 years, 3 months ago) by schoenebeck
* rewrote sustain pedal handling: instead of just queuing the note-offs I
  added a sustain pointer for each midi key which starts to point to the
  first active voice on the respective key and increments to the next voice
  on the key when a note-off arrived, the release velocity value will
  immediately be stored in the respective voice object (this also fixes the
  segmentation fault issue when the sustain pool was full)


Revision 14 - Directory Listing
Modified Fri Nov 21 15:40:40 2003 UTC (20 years, 4 months ago) by schoenebeck
boring: adjusted size of SustainedKeyPool to MAX_AUDIO_VOICES


Revision 13 - Directory Listing
Modified Fri Nov 21 15:07:23 2003 UTC (20 years, 4 months ago) by schoenebeck
* src/voice.cpp: fixed bug which caused a voice not free it's disk stream
  when the whole sample was already played back and the voice was going to
  free itself resulting in outage of unused disk streams after a while
* src/audioio.cpp: implemented automatic fallback to ALSA plughw when the
  sound card doesn't support one of the hardware parameters
* src/linuxsampler.cpp: solved segmentation fault issue when receiving a
  SIGINT which was caused due to the fact that all threads entered the
  signal handler (there still seems to occur a segfault on some certain
  circumstances though)
* added print out of all-time maximum usage of voices and streams and the
  current number of unused streams
* src/thread.cpp: the StopThread() method will now block until the
  associated thread actually stopped it's execution


Revision 12 - Directory Listing
Modified Sun Nov 16 19:01:50 2003 UTC (20 years, 4 months ago) by schoenebeck
* src/gig.cpp: fixed bug in decompression algorithm which caused it not to
  detect the end of a stream and let the disk streams reload forever also
  resulting in strange sounds at the end of disk voices (concerned only
  playback of compressed gig files)
* src/audiothread.cpp: deallocation of voices when they reached the end of
  playback (thus e.g. when sustain pedal is pressed and a disk stream
  reached it's end)
* various endian corrections needed for non intel systems
* introduced debug level, you can set the debug level and thus the
  verbosity of LinuxSampler in src/global.h


Revision 10 - Directory Listing
Modified Tue Nov 11 23:30:47 2003 UTC (20 years, 4 months ago) by senoner
* src/audiothread.cpp, src/audiothread.h: added Sustain Pedal support
  implemented by postponing note-offs and leting multiple voices play
  on the same MIDI key.
* added the RTELMemoryPool Class which is a fast RT-safe memory allocator
  and list manger
* src/linuxsampler.cpp: added a voice and stream counter debug message


Revision 9 - Directory Listing
Modified Wed Nov 5 14:47:10 2003 UTC (20 years, 4 months ago) by schoenebeck
* transition from plain Makefile to autotools, source files moved to src/
* configure.in: added test for x86 architecture
* src/voice.h: x86 specific asm optimization for double to int casts only
  if compiling for x86 architecture


Revision 5 - Directory Listing
Modified Sat Oct 25 20:24:31 2003 UTC (20 years, 4 months ago) by schoenebeck
Initial revision


Revision 4 - Directory Listing
Added Sat Oct 25 20:24:31 2003 UTC (20 years, 4 months ago) by (unknown author)
Standard project directories initialized by cvs2svn.

  ViewVC Help
Powered by ViewVC