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

Contents of /linuxsampler/trunk/src/network/lscp.l

Parent Directory Parent Directory | Revision Log Revision Log


Revision 111 - (show annotations) (download)
Sat Jun 5 20:55:50 2004 UTC (19 years, 10 months ago) by schoenebeck
File size: 4303 byte(s)
* LSCP allows now comment lines, that is lines starting with a hash ('#')
  character
* src/engines/gig/Voice.cpp: fixed "SET CHANNEL VOLUME" bug

1 /***************************************************************************
2 * *
3 * LinuxSampler - modular, streaming capable sampler *
4 * *
5 * Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the Free Software *
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
20 * MA 02111-1307 USA *
21 ***************************************************************************/
22
23 %{
24
25 #include "lscpparser.h"
26 #include "lscpsymbols.h"
27
28 /// handle for a client connection (FIXME: doesn't work for more than one network connections of course)
29 int hSession;
30
31 %}
32
33 %option reentrant
34
35 DIGIT [0-9]
36
37 %%
38
39 " " { return SP; }
40 \n { return LF; }
41 \r { return CR; }
42 "#" { return HASH; }
43 ("+"|"-")?{DIGIT}+"."{DIGIT}+ { yylval->Dotnum = atof(yytext); return DOTNUM; }
44 ADD { return ADD; }
45 GET { return GET; }
46 LOAD { return LOAD; }
47 REMOVE { return REMOVE; }
48 SET { return SET; }
49 SUBSCRIBE { return SUBSCRIBE; }
50 UNSUBSCRIBE { return UNSUBSCRIBE; }
51 CHANNEL { return CHANNEL; }
52 NOTIFICATION { return NOTIFICATION; }
53 AVAILABLE_ENGINES { return AVAILABLE_ENGINES; }
54 CHANNELS { return CHANNELS; }
55 INFO { return INFO; }
56 BUFFER_FILL { return BUFFER_FILL; }
57 STREAM_COUNT { return STREAM_COUNT; }
58 VOICE_COUNT { return VOICE_COUNT; }
59 INSTRUMENT { return INSTRUMENT; }
60 ENGINE { return ENGINE; }
61 AUDIO_OUTPUT_CHANNEL { return AUDIO_OUTPUT_CHANNEL; }
62 AUDIO_OUTPUT_TYPE { return AUDIO_OUTPUT_TYPE; }
63 MIDI_INPUT_PORT { return MIDI_INPUT_PORT; }
64 MIDI_INPUT_CHANNEL { return MIDI_INPUT_CHANNEL; }
65 MIDI_INPUT_TYPE { return MIDI_INPUT_TYPE; }
66 VOLUME { return VOLUME; }
67 BYTES { return BYTES; }
68 PERCENTAGE { return PERCENTAGE; }
69 ALSA { return ALSA; }
70 JACK { return JACK; }
71 RESET { return RESET; }
72 QUIT { return QUIT; }
73 0|([1-9]{DIGIT}*) { yylval->Number = atoi(yytext); return NUMBER; }
74 . { yylval->Char = yytext[0]; return CHAR; }
75
76 %%
77
78 /**
79 * We provide our own version of yywrap() so we don't have to link against
80 * the lex library.
81 */
82 int yywrap(yyscan_t yyscanner) {
83 return 1; // continue scanning
84 }

  ViewVC Help
Powered by ViewVC