/[svn]/linuxsampler/trunk
ViewVC logotype

Log of /linuxsampler/trunk

View Directory Listing Directory Listing


Sticky Revision:

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