Log of /linuxsampler/trunk/src/voice.cpp
Parent Directory
| Revision Log
Revision
35 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 5 13:46:15 2004 UTC
(20 years, 2 months ago)
by
schoenebeck
File length: 16824 byte(s)
Diff to
previous 33
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 16 19:30:42 2004 UTC
(20 years, 3 months ago)
by
schoenebeck
File length: 16675 byte(s)
Diff to
previous 32
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 3 13:21:19 2004 UTC
(20 years, 3 months ago)
by
schoenebeck
File length: 16789 byte(s)
Diff to
previous 31
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 18 20:31:31 2004 UTC
(20 years, 4 months ago)
by
schoenebeck
File length: 12404 byte(s)
Diff to
previous 30
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 11 16:43:54 2004 UTC
(20 years, 4 months ago)
by
schoenebeck
File length: 12463 byte(s)
Diff to
previous 28
,
to
selected 18
* implemented amplitude envelope generator
* src/voice.cpp: some .gig instruments still sounded detuned, I hope
finally to have this fixed now
Revision
28 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 2 00:02:56 2004 UTC
(20 years, 4 months ago)
by
schoenebeck
File length: 11677 byte(s)
Diff to
previous 26
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 26 16:39:58 2003 UTC
(20 years, 5 months ago)
by
schoenebeck
File length: 11526 byte(s)
Diff to
previous 18
* 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
18 -
(
view)
(
download)
(
annotate)
-
[selected]
Modified
Sun Dec 7 05:03:43 2003 UTC
(20 years, 5 months ago)
by
schoenebeck
File length: 10332 byte(s)
Diff to
previous 17
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sat Nov 29 15:17:48 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 9646 byte(s)
Diff to
previous 15
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Nov 23 21:16:49 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 9609 byte(s)
Diff to
previous 13
,
to
selected 18
* 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
13 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 21 15:07:23 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 9538 byte(s)
Diff to
previous 12
,
to
selected 18
* 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 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Modified
Sun Nov 16 19:01:50 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 9552 byte(s)
Diff to
previous 9
,
to
selected 18
* 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
9 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Added
Wed Nov 5 14:47:10 2003 UTC
(20 years, 6 months ago)
by
schoenebeck
File length: 9517 byte(s)
Diff
to
selected 18
* 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
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.