GUIDOLib  1.7.7
Guido Engine Internal Documentation
NoteAndChordParser.h
1 /*
2  GUIDO Library
3  Copyright (C) 2013 Grame
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 
12  */
13 
14 #ifndef __NoteAndChordParser__
15 #define __NoteAndChordParser__
16 
17 #include <istream>
18 #include <string>
19 #include <sstream>
20 #include <locale.h>
21 
22 #include "GuidoStream.h"
23 #include "GUIDOFactory.h"
24 #include "GuidoParser.h"
25 #include "NoteAndChordFactory.h"
26 
27 class ARFactory;
28 
29 /* \brief a class for reading gmn streams
30 */
32 
33 
34  public:
35 
37  virtual ~NoteAndChordParser();
38 
39  void parseNoteOrChord();
40 
41  // We ignore the durations
42  virtual void noteEnum (long int n){}
43  virtual void noteDenom (long int n){}
44  virtual void noteDot (){}
45  virtual void noteDdot (){}
46  virtual void noteTdot (){}
47  virtual void noteAbsDur (long int n){}
48 
49  void seqInit (){}
50  void seqExit (){}
51 
52  void segmInit (){}
53  void segmExit (){}
54  void segmAppendSeq (){}
55 
56  // We ignore the tags
57  void tagStart (const char* id, long int no){}
58  void tagIntArg (long int n){}
59  void tagFloatArg (double r){}
60  void tagArgUnit (const char* unit){}
61  void tagStrArg (const char *s){}
62  void tagAdd (){}
63  void tagAddArg (const char *s){}
64  void tagEnd (){}
65  void tagRange (){}
66 
67  void setFactory (NoteAndChordFactory * factory){fFactory = factory;}
68 
69 };
70 
71 #endif
NoteAndChordParser::parseNoteOrChord
void parseNoteOrChord()
NoteAndChordParser::noteDot
virtual void noteDot()
Definition: NoteAndChordParser.h:44
NoteAndChordParser::noteTdot
virtual void noteTdot()
Definition: NoteAndChordParser.h:46
GuidoParser::fFactory
ARFactory * fFactory
Definition: GuidoParser.h:73
NoteAndChordParser::tagAddArg
void tagAddArg(const char *s)
Definition: NoteAndChordParser.h:63
NoteAndChordParser::noteEnum
virtual void noteEnum(long int n)
Definition: NoteAndChordParser.h:42
NoteAndChordParser::noteAbsDur
virtual void noteAbsDur(long int n)
Definition: NoteAndChordParser.h:47
NoteAndChordParser::segmExit
void segmExit()
Definition: NoteAndChordParser.h:53
NoteAndChordParser::NoteAndChordParser
NoteAndChordParser()
ARFactory
Class used in order to build the abstract representation (AR) structure of music.
Definition: ARFactory.h:60
NoteAndChordParser::tagIntArg
void tagIntArg(long int n)
Definition: NoteAndChordParser.h:58
NoteAndChordParser::noteDenom
virtual void noteDenom(long int n)
Definition: NoteAndChordParser.h:43
NoteAndChordFactory
Class used in order to build the abstract representation (AR) structure of music.
Definition: NoteAndChordFactory.h:31
NoteAndChordParser::tagAdd
void tagAdd()
Definition: NoteAndChordParser.h:62
NoteAndChordParser::tagFloatArg
void tagFloatArg(double r)
Definition: NoteAndChordParser.h:59
NoteAndChordParser::tagStrArg
void tagStrArg(const char *s)
Definition: NoteAndChordParser.h:61
NoteAndChordParser::segmInit
void segmInit()
Definition: NoteAndChordParser.h:52
NoteAndChordParser::setFactory
void setFactory(NoteAndChordFactory *factory)
Definition: NoteAndChordParser.h:67
NoteAndChordParser::segmAppendSeq
void segmAppendSeq()
Definition: NoteAndChordParser.h:54
NoteAndChordParser
Definition: NoteAndChordParser.h:31
NoteAndChordParser::tagArgUnit
void tagArgUnit(const char *unit)
Definition: NoteAndChordParser.h:60
NoteAndChordParser::tagRange
void tagRange()
Definition: NoteAndChordParser.h:65
NoteAndChordParser::tagEnd
void tagEnd()
Definition: NoteAndChordParser.h:64
NoteAndChordParser::seqInit
void seqInit()
Definition: NoteAndChordParser.h:49
NoteAndChordParser::seqExit
void seqExit()
Definition: NoteAndChordParser.h:50
NoteAndChordParser::noteDdot
virtual void noteDdot()
Definition: NoteAndChordParser.h:45
NoteAndChordParser::~NoteAndChordParser
virtual ~NoteAndChordParser()
GuidoParser
Definition: GuidoParser.h:34
NoteAndChordParser::tagStart
void tagStart(const char *id, long int no)
Definition: NoteAndChordParser.h:57

Guido Project Copyright © 2019 Grame-CNCM