summaryrefslogtreecommitdiff
path: root/rhythmstaf.hh
blob: 8e362146e33d96ee5bf76c0840a7fe0a07f25962 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
  rhythmstaf.hh -- part of LilyPond

  (c) 1996 Han-Wen Nienhuys
*/

#ifndef RHYTHMSTAF_HH
#define RHYTHMSTAF_HH
#include "stcol.hh"

struct Rhythmic_staff;

/// column of Rhythmic_staff
struct Rhythmic_column : Staff_column {
    // mega-stupido. only do notes, one at a time
    Request *the_note;
    Rhythmic_staff* staff_;

    /****************/
    
    void typeset_req(Request *rq);
    void take_request(Request *rq);
    void typeset_command(Command *, int brs);
    void process_commands( );
    void process_requests();

    Rhythmic_column(Score_column*s,Rhythmic_staff*rs);
};


/// simple percussion staff
struct Rhythmic_staff : Staff {
    /// indirection to the PStaff.
    PStaff *theline;
    void set_output(PScore *);
    void process_commands( PCursor<Command*> &where);

    void grant_requests();
    Staff_column * create_col(Score_column*);
};


#endif // RHYTHMSTAF_HH