/[svn]/linuxsampler/trunk/src/network/lscp.y
ViewVC logotype

Log of /linuxsampler/trunk/src/network/lscp.y

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 3054 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 15 12:47:45 2016 UTC (7 years, 3 months ago) by schoenebeck
File length: 113981 byte(s)
Diff to previous 3052
* Fixed numerous compiler warnings.
* Bumped version (2.0.0.svn32).


Revision 3052 - (view) (download) (annotate) - [select for diffs]
Modified Wed Dec 14 17:34:54 2016 UTC (7 years, 3 months ago) by schoenebeck
File length: 113946 byte(s)
Diff to previous 2534
- Preparations for Xcode project update.


Revision 2534 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 9 21:34:03 2014 UTC (10 years ago) by schoenebeck
File length: 113878 byte(s)
Diff to previous 2532
* LSCP shell (WIP): Added initial support for built-in LSCP reference
  documentation, which will automatically show the relevant LSCP reference
  section on screen as soon as one specific LSCP command was detected while
  typing on the command line.
* Bumped version (1.0.0.svn37).


Revision 2532 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 5 17:29:15 2014 UTC (10 years ago) by schoenebeck
File length: 113552 byte(s)
Diff to previous 2531
* LSCP server: fixed crash caused by endless recursion in
  LSCP shell grammar evaluation algorithm.
* LSCP shell: quit shell app when TCP connection aborted.
* Bumped version (1.0.0.svn36).


Revision 2531 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 5 00:02:21 2014 UTC (10 years ago) by schoenebeck
File length: 112567 byte(s)
Diff to previous 2528
* LSCP shell: Added support for moving cursor left/right with arrow keys.
* Bumped version (1.0.0.svn35).


Revision 2528 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 3 12:02:40 2014 UTC (10 years ago) by schoenebeck
File length: 112395 byte(s)
Diff to previous 2525
* LSCP shell: in case of multiple possibilities or non-terminal symbols,
  show them right to the current command line immediately while typing
  (no double tab required for this feature, as it would be the case in
  other shells)
* LSCP shell: fixed sluggish behavior when doing tab auto complete
* LSCP shell: fixed conflicting behavior between keyboard input and
  LSCP server evaluation result, that caused an inconsistent screen
  output (keybord input is now never printed directly on screen, only
  the result returned from LSCP server)


Revision 2525 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 24 17:52:51 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 110625 byte(s)
Diff to previous 2524
- Just updated comments regarding auto completion implementation and
  other LSCP shell features.


Revision 2524 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 23 19:26:59 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 109201 byte(s)
Diff to previous 2523
- Fixed compile error regarding previous commit.


Revision 2523 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 23 19:10:36 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 108811 byte(s)
Diff to previous 2518
* LSCP Server: Fixed bug in LSCP grammar definition which caused a
  statement like "GET SERVER INFOasdf\n" to be accepted as valid
  statement (was so far practically irrelevant, however it caused
  problems with the following new LSCP shell's auto completion
  feature).
* LSCP shell: improvement of auto completion feature, which now
  not only resolves the next LSCP command token, but the longest,
  unique sequence of LSCP commands expected next. Accordingly it
  can now auto complete an entire line.
* Bumped version (1.0.0.svn33).


Revision 2518 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 8 00:49:30 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 99737 byte(s)
Diff to previous 2516
* LSCP shell (WIP): added support for browsing the command
  history with up / down keys.
* LSCP server: fixed compilation error with Bison 3.x.
* Bumped version (1.0.0.svn31).


Revision 2516 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 6 21:11:23 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 96823 byte(s)
Diff to previous 2515
* WIP: LSCP Shell: implemented support for auto-correction of       
  obvious and trivial LSCP syntax mistakes, support for
  auto-completion by tab key and visual completion suggestion
  while typing.
* Bumped version (1.0.0.svn29).


Revision 2515 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 5 20:45:18 2014 UTC (10 years, 1 month ago) by schoenebeck
File length: 86100 byte(s)
Diff to previous 2510
* WIP: Introducing the LSCP shell: for now, providing color
  highlighting while typing (indicating correct part bold white,
  incorrect part red, and turning green when the command is
  complete. The shell application is implemented as thin client,
  that is the parser work is performed on sampler side and the
  shell application is just providing output formatting.
* Bumped version (1.0.0.svn28).


Revision 2510 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 23 04:00:26 2014 UTC (10 years, 2 months ago) by schoenebeck
File length: 82276 byte(s)
Diff to previous 2500
* LSCP server: provide comprehensive error messages on LSCP
  syntax errors (suggesting expected next non-terminal symbols)
* Bumped version (v1.0.0.svn26).


Revision 2500 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 10 12:20:05 2014 UTC (10 years, 2 months ago) by schoenebeck
File length: 75369 byte(s)
Diff to previous 2461
* Added support for multiple MIDI input ports per sampler channel (added
  various new C++ API methods for this new feature/design, old C++ API
  methods are now marked as deprecated but should still provide full
  behavior backward compatibility).
* LSCP Network interface: Added the following new LSCP commands for the new
  feature mentioned above: "ADD CHANNEL MIDI_INPUT",
  "REMOVE CHANNEL MIDI_INPUT" and "LIST CHANNEL MIDI_INPUTS". As with the
  C++ API changes, the old LSCP commands for MIDI input management are now
  marked as deprecated, but are still there and should provide full behavior
  backward compatibility.
* New LSCP specification document (LSCP v1.6).
* AbstractEngine::GSCheckSum(): don't allocate memory on the stack (was
  unsafe and caused compilation error with old clang 2.x).
* Bumped version (1.0.0.svn25).


Revision 2461 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 25 06:09:11 2013 UTC (10 years, 7 months ago) by persson
File length: 74341 byte(s)
Diff to previous 2188
* fix for building with bison 3.0 (#202)


Revision 2188 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 24 19:39:11 2011 UTC (12 years, 9 months ago) by iliev
File length: 74252 byte(s)
Diff to previous 2140
* Added LSCP commands "SUBSCRIBE EFFECT_INSTANCE_COUNT",
  "SUBSCRIBE EFFECT_INSTANCE_INFO", "SUBSCRIBE SEND_EFFECT_CHAIN_COUNT",
  "SUBSCRIBE SEND_EFFECT_CHAIN_INFO"


Revision 2140 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 5 10:35:13 2010 UTC (13 years, 5 months ago) by schoenebeck
File length: 72598 byte(s)
Diff to previous 2137
* raised limit of program change queue from 100 to 512
  (as suggested by Alex Stone)
* removed limit of maximum amount of MIDI ports per MIDI device, since
  there is no reason for this limit
* minor syntax simplification regarding 2 new LSCP commands: changed
  "SET FX_SEND SEND_EFFECT"" to "SET FX_SEND EFFECT" and changed
  "REMOVE FX_SEND SEND_EFFECT"" to "REMOVE FX_SEND EFFECT", also changed
  the respective category field of command "GET FX_SEND INFO" from
  "SEND_EFFECT" to "EFFECT"
* updated LSCP specification document
* bumped version to 1.0.0.cvs10


Revision 2137 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 4 12:20:23 2010 UTC (13 years, 5 months ago) by schoenebeck
File length: 72666 byte(s)
Diff to previous 2135
* revised previously added new LSCP commands regarding effect handling:
  renamed "master effects" to "send effects", since this is the actual
  correct common term for those effects
* also corrected the names regarding "send effects" in the respective
  methods of the "FxSsnd" class and "AudioOutputDevice" class of the
  sampler's C++ API, the old methods are still available but marked as
  deprecated and scheduled for removal
* added LSCP command "SET FX_SEND SEND_EFFECT <sampler_channel>
  <fx_send_id> <effect_chain> <chain_pos>"
* added LSCP command "REMOVE FX_SEND SEND_EFFECT <sampler_channel>
  <fx_send_id>"
* added a list of common known LADSPA paths (for Windows and POSIX) which
  will be automatically checked for being used as LADSPA plugin directory
  (if the user did not set the LADSPA_PATH environment variable explicitly)
* bumped version to 1.0.0.cvs8


Revision 2135 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 30 20:00:43 2010 UTC (13 years, 6 months ago) by schoenebeck
File length: 71645 byte(s)
Diff to previous 1808
* added and implemented a set of 19 new LSCP commands for controlling
  internal effects:
  - added LSCP command "GET AVAILABLE_EFFECTS"
  - added LSCP command "LIST AVAILABLE_EFFECTS"
  - added LSCP command "GET EFFECT INFO <effect-index>"
  - added LSCP command "CREATE EFFECT_INSTANCE <effect-index>"
  - added LSCP command
    "CREATE EFFECT_INSTANCE <effect-system> <module> <effect-name>"
  - added LSCP command "DESTROY EFFECT_INSTANCE <effect-instance>"
  - added LSCP command "GET EFFECT_INSTANCES"
  - added LSCP command "LIST EFFECT_INSTANCES"
  - added LSCP command "GET EFFECT_INSTANCE INFO <effect-instance>"
  - added LSCP command "GET EFFECT_INSTANCE_INPUT_CONTROL INFO
    <effect-instance> <input-control>"
  - added LSCP command "SET EFFECT_INSTANCE_INPUT_CONTROL <effect-instance>
    <input-control> <value>"
  - added LSCP command "GET MASTER_EFFECT_CHAINS <audio-device>"
  - added LSCP command "LIST MASTER_EFFECT_CHAINS <audio-device>"
  - added LSCP command "ADD MASTER_EFFECT_CHAIN <audio-device>"
  - added LSCP command
    "REMOVE MASTER_EFFECT_CHAIN <audio-device> <effect-chain>"
  - added LSCP command
    "GET MASTER_EFFECT_CHAIN INFO <audio-device> <effect-chain>"
  - added LSCP command "APPEND MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance>"
  - added LSCP command "INSERT MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance> <effect-chain-pos>"
  - added LSCP command "REMOVE MASTER_EFFECT_CHAIN EFFECT <audio-device>
    <effect-chain> <effect-instance>"
* bumped version to 1.0.0.cvs7


Revision 1808 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 14 15:43:18 2008 UTC (15 years, 3 months ago) by persson
File length: 66564 byte(s)
Diff to previous 1800
* fixes for building with newer MinGW versions
* fix for building with bison 2.4 (#111)
* fix for crash when running gigedit as a plugin


Revision 1800 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 7 01:26:46 2008 UTC (15 years, 3 months ago) by schoenebeck
File length: 66539 byte(s)
Diff to previous 1781
* maximum voices and disk streams can now be altered at runtime (added new
  LSCP commands "GET VOICES", "SET VOICES", "GET STREAMS", "SET STREAMS"
  and accordingly new LSCP events "GLOBAL_INFO:VOICES" and
  "GLOBAL_INFO:STREAMS")
* bumped version to 0.5.1.8cvs


Revision 1781 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 29 18:21:21 2008 UTC (15 years, 6 months ago) by iliev
File length: 65710 byte(s)
Diff to previous 1771
* Implemented option for adding instruments in separate directories
  in the instruments database
  (patch by Chris Cherrett & Andrew Williams, a bit adjusted)


Revision 1771 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 10 15:02:24 2008 UTC (15 years, 6 months ago) by iliev
File length: 65152 byte(s)
Diff to previous 1765
* added new LSCP command: SEND CHANNEL MIDI_DATA which can be used by
  frontends to send MIDI messages to specific sampler channel
* added two additional fields to GET FILE INSTRUMENT INFO command -
  KEY_BINDINGS and KEYSWITCH_BINDINGS
* InstrumentResourceManager::GetInstrumentInfo now scans the specified
  instrument file only if it is not loaded in the instrument manager


Revision 1765 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 6 16:44:42 2008 UTC (15 years, 6 months ago) by persson
File length: 64691 byte(s)
Diff to previous 1727
* refactoring: extracted lscp notification from main() to a separate
  function
* added helper function MidiInputPort::DispatchRaw for midi device
  implementations with raw byte data
* fixed a win32 build error (atomic.h is working on windows too)
* code cleanup: moved lscp classes into LinuxSampler namespace


Revision 1727 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 29 15:44:09 2008 UTC (15 years, 11 months ago) by iliev
File length: 64602 byte(s)
Diff to previous 1695
* added support for handling lost files in the instruments database
* added new LSCP commands: FIND LOST DB_INSTRUMENT_FILES and
  SET DB_INSTRUMENT FILE_PATH


Revision 1695 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 16 01:09:33 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 63977 byte(s)
Diff to previous 1686
* added new LSCP event "DEVICE_MIDI" which can be used by frontends to
  react on MIDI data arriving on certain MIDI input devices (so far only
  Note-On and Note-Off events are sent via this LSCP event)
* bumped version to 0.5.1.4cvs


Revision 1686 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 14 14:58:50 2008 UTC (16 years, 1 month ago) by schoenebeck
File length: 63601 byte(s)
Diff to previous 1541
* added new LSCP event "CHANNEL_MIDI" which can be used by frontends to
  react on MIDI data arriving on certain sampler channels (so far only
  Note-On and Note-Off events are sent via this LSCP event)
* bumped LSCP compliance version to 1.4
* bumped LS version to 0.5.1.3cvs


Revision 1541 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 4 18:09:26 2007 UTC (16 years, 3 months ago) by iliev
File length: 63222 byte(s)
Diff to previous 1525
- Added support for monitoring the total number of active disk streams
  (new LSCP commands: GET TOTAL_STREAM_COUNT,
  SUBSCRIBE TOTAL_STREAM_COUNT, UNSUBSCRIBE TOTAL_STREAM_COUNT)


Revision 1525 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 25 17:47:46 2007 UTC (16 years, 4 months ago) by schoenebeck
File length: 62655 byte(s)
Diff to previous 1481
* LSCP: added new LSCP commands: "GET FILE INSTRUMENTS <file>",
  "LIST FILE INSTRUMENTS <file>" and
  "GET FILE INSTRUMENT INFO <file> <index>" for retrieving informations
  about an arbitrary instrument file on the system where the sampler is
  running on (LSCP specs yet to be updated!)
* bumped version to 0.5.0.1cvs
* bumped LSCP compliance to LSCP version 1.3


Revision 1481 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 14 23:42:15 2007 UTC (16 years, 4 months ago) by senoner
File length: 62037 byte(s)
Diff to previous 1471
* win32 port work in progress:
* - implemented win32 support in the following classes:
* Thread, Condition, Mutex, Path, LscpServer
* - lscp.y use DONTCARE instead of VOID
*  (a win32 symbol defined)
* - completed win32 editor plugin loader


Revision 1471 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 5 13:56:26 2007 UTC (16 years, 4 months ago) by schoenebeck
File length: 62029 byte(s)
Diff to previous 1407
* LSCP server: added support for Windows style path / filenames, however
  with forward slash path separators instead of backslash
  (i.e. "C:/foo/bar.gig")


Revision 1407 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 12 12:35:58 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 61359 byte(s)
Diff to previous 1399
* slightly renamed recently added "EDIT INSTRUMENT <sampler-chan>" LSCP
  command to "EDIT CHANNEL INSTRUMENT <sampler-chan>"


Revision 1399 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 18:53:29 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 61348 byte(s)
Diff to previous 1389
* the following LSCP command return escape sequences in at least one
  of their LSCP response fields: "GET ENGINE INFO", "GET CHANNEL INFO",
  "GET MIDI_INSTRUMENT INFO", "GET MIDI_INSTRUMENT_MAP INFO",
  "GET FX_SEND INFO", "GET SERVER INFO"
* listed all LSCP commands in the LSCP specs which may use escape
  sequences in at least on of their response fields
* hide instrument editor related debug messages in the gig::Engine when
  using the default debug level (which is 1)
* bumped version to 0.4.0.8cvs


Revision 1389 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 7 14:05:04 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 62087 byte(s)
Diff to previous 1387
* the following LSCP commands now also support escape sequences for at
  least one of their text-based arguments (i.e. name, description):
  "ADD MIDI_INSTRUMENT_MAP", "SET MIDI_INSTRUMENT_MAP NAME",
  "SET FX_SEND NAME", "CREATE FX_SEND"
* the LSCP spec doc now lists all LSCP commands which support escape
  sequences as one of their arguments


Revision 1387 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 7 10:32:53 2007 UTC (16 years, 5 months ago) by iliev
File length: 61936 byte(s)
Diff to previous 1379
* The <name> argument of MAP MIDI_INSTRUMENT command
  now supports escape sequences


Revision 1379 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 4 12:18:16 2007 UTC (16 years, 5 months ago) by schoenebeck
File length: 61937 byte(s)
Diff to previous 1353
* bugfix in LSCP parser: all comma separated lists of strings were treated
  as being one string containing commas, this affected device parameter
  LSCP commands (fixes #57)
* minor code refactoring regarding DB paths in src/network/lscp.y


Revision 1353 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 17 23:15:25 2007 UTC (16 years, 6 months ago) by iliev
File length: 61585 byte(s)
Diff to previous 1349
* added new LSCP command: FORMAT INSTRUMENTS_DB


Revision 1349 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 15 11:05:38 2007 UTC (16 years, 6 months ago) by persson
File length: 61161 byte(s)
Diff to previous 1345
* made sure that LSCP syntax is not affected by gigedit locale
  settings


Revision 1345 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 13 21:46:25 2007 UTC (16 years, 6 months ago) by iliev
File length: 61110 byte(s)
Diff to previous 1332
* added support for escape sequences to the instruments database


Revision 1332 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 9 12:22:34 2007 UTC (16 years, 6 months ago) by schoenebeck
File length: 60692 byte(s)
Diff to previous 1296
* bugfix: files with slash in their path or filename could not be loaded


Revision 1296 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 15 17:43:34 2007 UTC (16 years, 7 months ago) by iliev
File length: 60152 byte(s)
Diff to previous 1253
* bugfix: The previous bindings were not been disconnected when
  altering the ALSA_SEQ_BINDINGS parameter.
* Introduced a NONE keyword for unsubscribing from all bindings
  (e.g. SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE).


Revision 1253 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 23 16:04:18 2007 UTC (16 years, 9 months ago) by schoenebeck
File length: 59977 byte(s)
Diff to previous 1252
- minor bugfix regarding recent commit batch


Revision 1252 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 23 15:54:18 2007 UTC (16 years, 9 months ago) by schoenebeck
File length: 59961 byte(s)
Diff to previous 1245
* LSCP server returns verbose syntax errors (line and column where
  syntax error occured, the unexpected character and the actually
  expected, possible character(s), the latter only if less than 5
  possibilities)


Revision 1245 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 19 15:54:13 2007 UTC (16 years, 9 months ago) by schoenebeck
File length: 59099 byte(s)
Diff to previous 1212
* filename arguments in LSCP commands now allow to use escape
  sequences, that is directly literal as one of: \', \", \\, \n, \r,
  \f, \t, \v, or as octal ASCII code value like \132, or as hex ASCII
  code value like \xf2) (fixes bug #24)
* parser now supports extended ASCII character set
  (up to ASCII code 255, i.e. includes now umlauts and accents)
* LSCP parser C++ files are now automatically regenerated when
  yacc input source file (lscp.y) was modified


Revision 1212 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 29 23:59:36 2007 UTC (16 years, 10 months ago) by schoenebeck
File length: 58292 byte(s)
Diff to previous 1200
* added highly experimental support for on-the-fly instrument editing
  within the sampler's process (by using instrument editor plugins),
  you'll notice the new "Registered instrument editors:" message on
  startup, the plugin path can be overridden at compile time with
  ./configure --enable-plugin-dir=/some/dir
* added a new LSCP command "EDIT INSTRUMENT <sampler-channel>" to spawn
  a matching instrument editor for the instrument on the given sampler
  channel (LSCP command syntax might be subject to change soon)
* config.h is not going to be installed along with liblinuxsampler's
  API header files anymore (not necessary anymore)
* take care of $(DESTDIR) when creating the instruments DB on 'make
  install' rule (needed for packaging and cross compilation)
* bumped version to 0.4.0.5cvs


Revision 1200 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 24 14:04:18 2007 UTC (16 years, 10 months ago) by iliev
File length: 57953 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 (16 years, 10 months ago) by iliev
File length: 56653 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 (16 years, 11 months ago) by iliev
File length: 54051 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 (17 years ago) by iliev
File length: 48210 byte(s)
Diff to previous 1108
* Added new LSCP command - SET FX_SEND NAME
* The default map is now the first available map


Revision 1108 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 22 20:39:04 2007 UTC (17 years ago) by iliev
File length: 48035 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 (17 years, 1 month ago) by schoenebeck
File length: 46898 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 (17 years, 2 months ago) by schoenebeck
File length: 46648 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 (17 years, 3 months ago) by schoenebeck
File length: 46136 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 (17 years, 3 months ago) by schoenebeck
File length: 45792 byte(s)
Diff to previous 981
* implemented effect sends (also added new LSCP commands for this feature,
  updated LSCP spec document along with this commit batch as well)


Revision 981 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 17 22:35:01 2006 UTC (17 years, 3 months ago) by iliev
File length: 44399 byte(s)
Diff to previous 973
* Added new notification events for tracking audio/MIDI device changes,
MIDI instrument map changes and MIDI instrument changes


Revision 973 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 15 21:40:27 2006 UTC (17 years, 3 months ago) by schoenebeck
File length: 41021 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 (17 years, 4 months ago) by schoenebeck
File length: 38347 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 (18 years, 2 months ago) by schoenebeck
File length: 34247 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 (18 years, 6 months ago) by iliev
File length: 34424 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 (18 years, 8 months ago) by schoenebeck
File length: 33533 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 (18 years, 10 months ago) by schoenebeck
File length: 33045 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 (18 years, 10 months ago) by schoenebeck
File length: 32693 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 (18 years, 10 months ago) by schoenebeck
File length: 32455 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 (18 years, 10 months ago) by schoenebeck
File length: 32270 byte(s)
Diff to previous 527
* tiny fix in LSCP parser; returned prefix "Err" instead of "ERR" on syntax
  errors (patch by Grigor Iliev)


Revision 527 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 9 11:59:58 2005 UTC (18 years, 10 months ago) by capela
File length: 32270 byte(s)
Diff to previous 483
* [bug #9] Fixed for a LSCP command syntax convention
  consistency, regarding the enumeration of available
  sampler engines, Audio and MIDI drivers; this has
  affected the semantics of the following commands:
    GET AVAILABLE_ENGINES
    GET AVAILABLE_AUDIO_DRIVERS
    GET AVAILABLE_MIDI_DRIVERS
  which are now returning an integer count of engines
  and drivers, respectively, while the following
  new commands are now being introduced:
    LIST AVAILABLE_ENGINES
    LIST AVAILABLE_AUDIO_DRIVERS
    LIST AVAILABLE_MIDI_DRIVERS
  taking on the previous functionality, returning
  a comma separated list of names.

* LinuxSampler version bumped to 0.3.1.


Revision 483 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 21 23:40:56 2005 UTC (19 years ago) by schoenebeck
File length: 31871 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 (19 years, 1 month ago) by schoenebeck
File length: 31367 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 (19 years, 1 month ago) by senkov
File length: 31364 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 (19 years, 5 months ago) by schoenebeck
File length: 31172 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 (19 years, 7 months ago) by schoenebeck
File length: 31171 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 (19 years, 7 months ago) by schoenebeck
File length: 31065 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 (19 years, 7 months ago) by schoenebeck
File length: 31045 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 (19 years, 7 months ago) by schoenebeck
File length: 31073 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 (19 years, 7 months ago) by schoenebeck
File length: 30844 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 (19 years, 7 months ago) by schoenebeck
File length: 17929 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 (19 years, 8 months ago) by schoenebeck
File length: 17969 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 (19 years, 8 months ago) by schoenebeck
File length: 17849 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 (19 years, 8 months ago) by schoenebeck
File length: 17399 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 (19 years, 8 months ago) by senkov
File length: 17316 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 (19 years, 8 months ago) by senkov
File length: 17146 byte(s)
Diff to previous 159
* 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 159 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 29 21:11:50 2004 UTC (19 years, 9 months ago) by capela
File length: 17458 byte(s)
Diff to previous 155
* 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 155 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 28 04:30:11 2004 UTC (19 years, 9 months ago) by senkov
File length: 16779 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 (19 years, 9 months ago) by capela
File length: 14880 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 (19 years, 9 months ago) by senkov
File length: 14585 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 (19 years, 9 months ago) by senkov
File length: 14598 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 (19 years, 9 months ago) by senkov
File length: 14448 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 (19 years, 9 months ago) by schoenebeck
File length: 13305 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 (19 years, 9 months ago) by schoenebeck
File length: 9652 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 (19 years, 10 months ago) by schoenebeck
File length: 9405 byte(s)
Diff to previous 56
* 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 56 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 27 09:21:58 2004 UTC (19 years, 11 months ago) by schoenebeck
File length: 9387 byte(s)
Diff to previous 53
updated copyright header for 2004


Revision 53 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 26 17:15:51 2004 UTC (19 years, 11 months ago) by schoenebeck
File length: 9387 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 (20 years ago) by schoenebeck
File length: 9353 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