void set (string header_string, string data_string, string footer_string);
virtual string to_string () const;
virtual string data_string () const;
- DECLARE_CLASSNAME(Midi_chunk);
+ DECLARE_CLASSNAME (Midi_chunk);
virtual ~Midi_chunk ();
private:
string data_string_;
class Midi_header : public Midi_chunk
{
public:
- DECLARE_CLASSNAME(Midi_header);
+ DECLARE_CLASSNAME (Midi_header);
Midi_header (int format, int tracks, int clocks_per_4);
};
{
public:
int number_;
- DECLARE_CLASSNAME(Midi_track);
+ DECLARE_CLASSNAME (Midi_track);
vector<Midi_event*> events_;
- Midi_track ();
+ Midi_track (int number);
~Midi_track ();
void add (int, Midi_item *midi);
#include "std-string.hh"
#include "string-convert.hh"
-Midi_track::Midi_track ()
+Midi_track::Midi_track (int number)
+ : number_ (number)
{
// 4D 54 72 6B MTrk
// 00 00 00 3B chunk length (59)
// mi = 0: major key
// mi = 1: minor key
- number_ = 0;
-
char const *data_str0 = ""
// "00" "ff58" "0404" "0218" "08"
// "00" "ff51" "0307" "a120"
// only for format 0 (currently using format 1)?
data_string += String_convert::hex2bin (data_str0);
+ string port = "00" "ff" "21" "01" + String_convert::int2hex (number_, 2, '0');
+
+ data_string += String_convert::hex2bin (port);
+
char const *footer_str0 = "00" "ff2f" "00";
string footer_string = String_convert::hex2bin (footer_str0);