summaryrefslogtreecommitdiff
path: root/lily/audio-staff.cc
blob: 73a56d6a62681569975184269b31874baa0bbcb4 (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
/*
  audio-staff.cc -- implement Audio_staff

  source file of the GNU LilyPond music typesetter

  (c) 1997--2008 Jan Nieuwenhuizen <janneke@gnu.org>
*/

#include "audio-staff.hh"

#include "midi-chunk.hh"
#include "midi-stream.hh"
#include "midi-walker.hh"

void
Audio_staff::add_audio_item (Audio_item *l)
{
  audio_items_.push_back (l);
}

Audio_staff::Audio_staff ()
{
  channel_ = -1; 
}

void
Audio_staff::output (Midi_stream &midi_stream, int channel)
{
  Midi_track midi_track;
  midi_track.number_ = channel;

  Midi_walker i (this, &midi_track, channel);
  for (; i.ok (); i++)
    i.process ();

  i.finalize ();
  
  midi_stream.write (midi_track);
}