/[svn]/linuxsampler/trunk
ViewVC logotype

Log of /linuxsampler/trunk

View Directory Listing Directory Listing


Sticky Revision:

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