-void
-Midi_stream::header()
-{
-// *os_p_ << "% Creator: " << get_version();
-// *os_p_ << "% Automatically generated, at ";
-// time_t t(time(0));
-// *os_p_ << ctime(&t);
-
-// 4D 54 68 64 MThd
-// String str = "MThd";
-// 00 00 00 06 chunk length
-// 00 01 format 1
-// 00 01 one track
-// 00 60 96 per quarter-note
-
-// char const ch_c_l = "0000" "0006" "0001" "0001" "0060";
-// str += String_convert::hex2bin_str( ch_c_l );
-// *os_p_ << str;
-
-// *this << Midi_header( 1, 1, tempo_i_ );
- *this << Midi_header( 1, tracks_i_, clocks_per_4_i_ );
+ if (midi_debug_global_b)
+ {
+ str = String_convert::bin2hex (str) + "\n";
+ // ugh, should have separate debugging output with Midi*::print routines
+ int i = str.index ("0a");
+ while (i >= 0)
+ {
+ str[i] = '\n';
+ str[i + 1] = '\t';
+ i = str.index ("0a");
+ }
+ }
+ else
+ {
+ Byte * b = str.get_bytes ();
+ for (int sz = str.length (); sz--;)
+ {
+ fputc (*b, out_file_);
+ b++;
+ }
+ }
+
+ return *this;