/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 1215)

Revision 1200 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 24 14:04:18 2007 UTC (12 years, 3 months ago) by iliev
File length: 268154 byte(s)
Diff to previous 1187
* Implemented instrument scanning in background
  and commands for monitoring the scan progress


Revision 1187 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 16 14:22:26 2007 UTC (12 years, 3 months ago) by iliev
File length: 265367 byte(s)
Diff to previous 1161
* updated instruments db support
* added transactions for improving the db performance
* added commands for copying and finding instruments and directories


Revision 1161 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 16 15:51:18 2007 UTC (12 years, 4 months ago) by iliev
File length: 249656 byte(s)
Diff to previous 1135
* Implemented instruments database


Revision 1135 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 29 09:40:45 2007 UTC (12 years, 5 months ago) by iliev
File length: 231668 byte(s)
Diff to previous 1109
* Added new LSCP command - SET FX_SEND NAME
* The default map is now the first available map


Revision 1109 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 22 20:55:17 2007 UTC (12 years, 5 months ago) by iliev
File length: 231306 byte(s)
Diff to previous 1047
- Added new notification events for tracking
effect send changes and global volume changes


Revision 1047 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 19 19:38:04 2007 UTC (12 years, 6 months ago) by schoenebeck
File length: 228137 byte(s)
Diff to previous 1026
* by default now all "MAP MIDI_INSTRUMENT" LSCP commands (also the
  "PERSISTENT" ones) block until the respective mapping is completely
  established in the sampler, added a new argument though to allow
  explicit mapping in the background ("MAP MIDI_INSTRUMENT NON_MODAL")
* LSCP documentation updated


Revision 1026 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 14 17:10:59 2007 UTC (12 years, 7 months ago) by schoenebeck
File length: 232277 byte(s)
Diff to previous 1005
* extended response of LSCP command "GET FX_SEND INFO" to return the FX
  Send's MIDI controller and current send level and added two new LSCP
  commands "SET FX_SEND MIDI_CONTROLLER" and "SET FX_SEND LEVEL"
  respectively


Revision 1005 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 29 20:06:14 2006 UTC (12 years, 7 months ago) by schoenebeck
File length: 225072 byte(s)
Diff to previous 1001
* global volume can now be altered at runtime
  (added two new LSCP commands for this, LSCP specs updated)


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


Revision 984 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 18 10:28:00 2006 UTC (12 years, 8 months ago) by iliev
File length: 219356 byte(s)
Diff to previous 973
- parser and specification update


Revision 973 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 15 21:40:27 2006 UTC (12 years, 8 months ago) by schoenebeck
File length: 211584 byte(s)
Diff to previous 947
* revised and extended MIDI instrument mapping feature to allow managing
  arbitrary amount of maps and assigning each sampler channel individually
  to one map (this commit batch includes LSCP spec document update and
  respective implementation on LS side)


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


Revision 826 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 8 20:19:49 2006 UTC (13 years, 7 months ago) by schoenebeck
File length: 187791 byte(s)
Diff to previous 778
* bugfix in LSCP parser which was confused by space(s) within device
  parameters
  (e.g. "SET AUDIO_OUTPUT_CHANNEL_PARAMETER 0 0 SOMEPARAM='foo bar'")
* changed version to 0.3.3cvs


Revision 778 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 23 06:58:26 2005 UTC (13 years, 11 months ago) by iliev
File length: 190599 byte(s)
Diff to previous 705
Added new LSCP commands: GET TOTAL_VOICE_COUNT,
GET TOTAL_VOICE_COUNT_MAX, SUBSCRIBE/UNSUBSCRIBE TOTAL_VOICE_COUNT


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


Revision 573 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 24 03:18:30 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 185601 byte(s)
Diff to previous 563
command syntax (BNF) of LSCP specification is now auto generated


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


Revision 556 - (view) (download) (annotate) - [select for diffs]
Modified Sat May 21 01:10:12 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 184401 byte(s)
Diff to previous 555
* Little LSCP API change: renamed events "CHANNELS" -> "CHANNEL_COUNT" and
  "INFO" -> "CHANNEL_INFO" to be more meaningful (patch by Grigor Iliev).


Revision 555 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 20 13:22:53 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 184003 byte(s)
Diff to previous 528
* tiny fix in LSCP parser; returned prefix "Err" instead of "ERR" on syntax
  errors (patch by Grigor Iliev)


Revision 528 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 9 12:56:36 2005 UTC (14 years, 3 months ago) by schoenebeck
File length: 184003 byte(s)
Diff to previous 483
Rui forgot to commit this file with previous commit batch


Revision 483 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 21 23:40:56 2005 UTC (14 years, 5 months ago) by schoenebeck
File length: 183402 byte(s)
Diff to previous 411
* JACK audio driver: fixed handling of channel parameter 'JACK_BINDINGS'
* fixed parser bug of multiplicity parameters


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


Revision 397 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 21 04:28:50 2005 UTC (14 years, 6 months ago) by senkov
File length: 174525 byte(s)
Diff to previous 274
* Added first cut of instrument database query support.


Revision 274 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 9 00:46:18 2004 UTC (14 years, 10 months ago) by schoenebeck
File length: 174038 byte(s)
Diff to previous 228
* 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 228 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 28 14:55:34 2004 UTC (14 years, 11 months ago) by schoenebeck
File length: 174037 byte(s)
Diff to previous 226
* src/network/lscp.y: fixed symbol 'midi_input_channel_index' to allow
  keyword 'ALL' for the respective LSCP commands


Revision 226 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 25 22:00:33 2004 UTC (15 years ago) by schoenebeck
File length: 173592 byte(s)
Diff to previous 225
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 22 14:46:47 2004 UTC (15 years ago) by schoenebeck
File length: 173353 byte(s)
Diff to previous 221
* 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 221 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 20 17:25:19 2004 UTC (15 years ago) by schoenebeck
File length: 173381 byte(s)
Diff to previous 219
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 17 20:35:04 2004 UTC (15 years ago) by schoenebeck
File length: 172581 byte(s)
Diff to previous 214
* 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 214 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 14 23:00:44 2004 UTC (15 years ago) by schoenebeck
File length: 65198 byte(s)
Diff to previous 212
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 28 14:17:29 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 65200 byte(s)
Diff to previous 210
* 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 210 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 24 12:33:49 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 65047 byte(s)
Diff to previous 209
* implemented "SET ECHO" LSCP command


Revision 209 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 18 00:29:39 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 64330 byte(s)
Diff to previous 185
* 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 185 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 7 02:49:51 2004 UTC (15 years, 1 month ago) by senkov
File length: 64164 byte(s)
Diff to previous 170
* GET MIDI_INPUT_PORT_PARAMETER INFO command


Revision 170 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 3 20:08:07 2004 UTC (15 years, 1 month ago) by senkov
File length: 63504 byte(s)
Diff to previous 160
* 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 160 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 21:44:12 2004 UTC (15 years, 1 month ago) by capela
File length: 64276 byte(s)
Diff to previous 155
Parser regeneration missed on last commit.


Revision 155 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 28 04:30:11 2004 UTC (15 years, 2 months ago) by senkov
File length: 62433 byte(s)
Diff to previous 143
* 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 143 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 23 18:54:08 2004 UTC (15 years, 2 months ago) by capela
File length: 57110 byte(s)
Diff to previous 141
* 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 141 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 21 01:21:33 2004 UTC (15 years, 2 months ago) by senkov
File length: 56401 byte(s)
Diff to previous 138
* LOAD INSTRUMENT NON_MODAL


Revision 138 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 20 23:18:24 2004 UTC (15 years, 2 months ago) by senkov
File length: 56322 byte(s)
Diff to previous 135
* Fix for CREATE_AUDIO_OUTPUT_DEVICE with all default params
* Fix for GET AUDIO_OUTPUT_DEVICES resultset
* Support for BACKGROUND loading


Revision 135 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 20 16:01:50 2004 UTC (15 years, 2 months ago) by senkov
File length: 56117 byte(s)
Diff to previous 123
* Update parser to comply with the latest spec


Revision 123 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 14 19:33:16 2004 UTC (15 years, 2 months ago) by schoenebeck
File length: 54761 byte(s)
Diff to previous 111
* 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 111 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 5 20:55:50 2004 UTC (15 years, 2 months ago) by schoenebeck
File length: 46232 byte(s)
Diff to previous 64
* LSCP allows now comment lines, that is lines starting with a hash ('#')
  character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug


Revision 64 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 6 20:06:20 2004 UTC (15 years, 3 months ago) by schoenebeck
File length: 45635 byte(s)
Diff to previous 53
* 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 53 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 26 17:15:51 2004 UTC (15 years, 4 months ago) by schoenebeck
File length: 45617 byte(s)
Diff to previous 35
* 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 35 - (view) (download) (annotate) - [select for diffs]
Added Fri Mar 5 13:46:15 2004 UTC (15 years, 5 months ago) by schoenebeck
File length: 45567 byte(s)
* 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


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

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC