diff options
Diffstat (limited to 'audio/tclmidi/files/patch-modern')
-rw-r--r-- | audio/tclmidi/files/patch-modern | 2145 |
1 files changed, 0 insertions, 2145 deletions
diff --git a/audio/tclmidi/files/patch-modern b/audio/tclmidi/files/patch-modern deleted file mode 100644 index dd065e6adbdc..000000000000 --- a/audio/tclmidi/files/patch-modern +++ /dev/null @@ -1,2145 +0,0 @@ ---- events/ChanPres.h 1996-02-18 19:57:20.000000000 -0500 -+++ events/ChanPres.h 2012-04-07 14:08:43.000000000 -0400 -@@ -44,7 +44,7 @@ - {return (new ChannelPressureEvent(*this));} - - virtual EventType GetType(void) const {return (CHANNELPRESSURE);} -- virtual char *GetTypeStr(void) const {return ("ChannelPressureEvent");} -+ virtual const char *GetTypeStr(void) const {return ("ChannelPressureEvent");} - virtual char *GetEventStr(void) const; - int GetPressure(void) const { - if (GetWildcard(wc_pressure)) ---- events/Event.h 1996-07-28 14:51:08.000000000 -0400 -+++ events/Event.h 2012-04-11 01:04:43.000000000 -0400 -@@ -81,12 +81,13 @@ - else - return (time); - } -+ virtual ~Event() {}; - virtual EventType GetType(void) const {return (NOTYPE);} -- virtual char *GetTypeStr(void) const {return ("NoType");} -+ virtual const char *GetTypeStr(void) const {return ("NoType");} - virtual char *GetEventStr(void) const; - Event *GetNextEvent(void) const {return (next_event);} - Event *GetPrevEvent(void) const {return (prev_event);} -- const EventTreeNode *GetEventTreeNode(void) const {return (node);} -+ EventTreeNode *GetEventTreeNode(void) const {return (node);} - - void SetTime(unsigned long t) { - if (t == WC_TIME) -@@ -96,7 +97,7 @@ - } - void SetNextEvent(Event *n) {next_event = n;} - void SetPrevEvent(Event *p) {prev_event = p;} -- void SetEventTreeNode(const EventTreeNode *n) {node = n;} -+ void SetEventTreeNode(EventTreeNode *n) {node = n;} - - Event &operator=(const Event &e); - int operator==(const Event &e) const; -@@ -120,6 +121,6 @@ - static const unsigned long wc_time; - Event *next_event; - Event *prev_event; -- const EventTreeNode *node; -+ EventTreeNode *node; - }; - #endif ---- events/KeyPres.h 1996-02-18 19:57:26.000000000 -0500 -+++ events/KeyPres.h 2012-04-07 14:08:43.000000000 -0400 -@@ -45,7 +45,7 @@ - virtual Event *Dup(void) const {return (new KeyPressureEvent(*this));} - - virtual EventType GetType(void) const {return (KEYPRESSURE);} -- virtual char *GetTypeStr(void) const {return ("KeyPressureEvent");} -+ virtual const char *GetTypeStr(void) const {return ("KeyPressureEvent");} - virtual char *GetEventStr(void) const; - int GetPitch(void) const { - if (GetWildcard(wc_pitch)) ---- events/MChanPrf.cxx 1996-07-28 15:09:16.000000000 -0400 -+++ events/MChanPrf.cxx 2012-04-07 15:41:59.000000000 -0400 -@@ -74,7 +74,7 @@ - MetaChannelPrefixEvent::~MetaChannelPrefixEvent() - { - -- delete data; -+ delete[] data; - } - - void -@@ -82,7 +82,7 @@ - { - - if (data != 0) -- delete data; -+ delete[] data; - if (dat == WC_DATA || len == WC_LENGTH) { - SetWildcard(wc_data); - data = 0; -@@ -101,7 +101,7 @@ - - (MetaEvent)*this = (MetaEvent)e; - if (data != 0) -- delete data; -+ delete[] data; - if (e.GetWildcard(wc_data)) { - data = 0; - length = -1; -@@ -129,7 +129,7 @@ - buf.setf(ios::showbase | ios::internal); - for (i = 0; i < length; i++) - buf << " " << hex << setw(4) << setfill('0') << -- (int)data[i]; -+ (intptr_t)data[i]; - } - buf << ends; - delete tbuf; -@@ -142,7 +142,7 @@ - const unsigned char *ptr; - - if (data != 0) -- delete data; -+ delete[] data; - if ((length = t.GetVarValue()) == -1) - return ("Incomplete MetaChannelPrefixEvent - bad length"); - data = new unsigned char[length]; ---- events/MChanPrf.h 1996-02-18 19:57:29.000000000 -0500 -+++ events/MChanPrf.h 2012-04-07 14:36:23.000000000 -0400 -@@ -46,7 +46,7 @@ - {return (new MetaChannelPrefixEvent(*this));} - - virtual EventType GetType(void) const {return (METACHANNELPREFIX);} -- virtual char *GetTypeStr(void) const -+ virtual const char *GetTypeStr(void) const - {return ("MetaChannelPrefixEvent");} - virtual char *GetEventStr(void) const; - const unsigned char *GetData(void) const { ---- events/MCopy.h 1996-02-12 19:25:36.000000000 -0500 -+++ events/MCopy.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaCopyrightEvent(*this));} - - virtual EventType GetType(void) const {return (METACOPYRIGHT);} -- virtual char *GetTypeStr(void) const {return ("MetaCopyrightEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaCopyrightEvent");} - virtual char *GetEventStr(void) const; - - MetaCopyrightEvent &operator=(const MetaCopyrightEvent &e); ---- events/MCue.h 1996-02-12 19:25:37.000000000 -0500 -+++ events/MCue.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaCueEvent(*this));} - - virtual EventType GetType(void) const {return (METACUE);} -- virtual char *GetTypeStr(void) const {return ("MetaCueEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaCueEvent");} - virtual char *GetEventStr(void) const; - - MetaCueEvent &operator=(const MetaCueEvent &e); ---- events/MEOT.h 1996-02-12 19:25:38.000000000 -0500 -+++ events/MEOT.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - {return (new MetaEndOfTrackEvent(*this));} - - virtual EventType GetType(void) const {return (METAENDOFTRACK);} -- virtual char *GetTypeStr(void) const {return ("MetaEndOfTrackEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaEndOfTrackEvent");} - virtual char *GetEventStr(void) const; - - MetaEndOfTrackEvent &operator=(const MetaEndOfTrackEvent &e); ---- events/MEvent.h 1996-02-12 19:25:39.000000000 -0500 -+++ events/MEvent.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new MetaEvent(*this));} - - virtual EventType GetType(void) const {return (META);} -- virtual char *GetTypeStr(void) const {return ("MetaEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaEvent");} - virtual char *GetEventStr(void) const; - - MetaEvent &operator=(const MetaEvent &e); ---- events/MInstNam.h 1996-02-12 19:25:39.000000000 -0500 -+++ events/MInstNam.h 2012-04-07 14:08:43.000000000 -0400 -@@ -45,7 +45,7 @@ - {return (new MetaInstrumentNameEvent(*this));} - - virtual EventType GetType(void) const {return (METAINSTRUMENTNAME);} -- virtual char *GetTypeStr(void) const {return ("MetaInstrumentName");} -+ virtual const char *GetTypeStr(void) const {return ("MetaInstrumentName");} - virtual char *GetEventStr(void) const; - - MetaInstrumentNameEvent &operator=(const MetaInstrumentNameEvent &e); ---- events/MKey.cxx 1996-07-28 15:09:19.000000000 -0400 -+++ events/MKey.cxx 2012-04-07 15:51:06.000000000 -0400 -@@ -396,7 +396,7 @@ - badkey = 1; - } - -- delete keystr; -+ delete[] keystr; - if (badkey) - *match = 0; - else -@@ -409,21 +409,13 @@ - StrToMode(const char *str, int *match) - { - Mode mode; -- char *modestr; -- int i, modelen; -- -- modelen = strlen(str); -- modestr = new char[modelen + 1]; -- for (i = 0; i < modelen; i++) -- modestr[i] = tolower(str[i]); -- modestr[i] = '\0'; - - *match = 1; -- if (strcmp(modestr, "minor") == 0) -+ if (strcasecmp(str, "minor") == 0) - mode = MODE_MINOR; -- else if (strcmp(modestr, "major") == 0) -+ else if (strcasecmp(str, "major") == 0) - mode = MODE_MAJOR; -- else if (strcmp(modestr, "*") == 0) -+ else if (strcasecmp(str, "*") == 0) - mode = MODE_WC; - else { - mode = MODE_MAJOR; ---- events/MKey.h 1996-02-18 19:57:33.000000000 -0500 -+++ events/MKey.h 2012-04-07 14:08:43.000000000 -0400 -@@ -57,7 +57,7 @@ - virtual Event *Dup(void) const {return (new MetaKeyEvent(*this));} - - virtual EventType GetType(void) const {return (METAKEY);} -- virtual char *GetTypeStr(void) const {return ("MetaKeyEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaKeyEvent");} - virtual char *GetEventStr(void) const; - Key GetKey(void) const { - if (GetWildcard(wc_key)) ---- events/MLyric.h 1996-02-12 19:25:41.000000000 -0500 -+++ events/MLyric.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaLyricEvent(*this));} - - virtual EventType GetType(void) const {return (METALYRIC);} -- virtual char *GetTypeStr(void) const {return ("MetaLyricEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaLyricEvent");} - virtual char *GetEventStr(void) const; - - MetaLyricEvent &operator=(const MetaLyricEvent &e); ---- events/MMarker.h 1996-02-12 19:25:42.000000000 -0500 -+++ events/MMarker.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaMarkerEvent(*this));} - - virtual EventType GetType(void) const {return (METAMARKER);} -- virtual char *GetTypeStr(void) const {return ("MetaMarkerEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaMarkerEvent");} - virtual char *GetEventStr(void) const; - - MetaMarkerEvent &operator=(const MetaMarkerEvent &e); ---- events/MPortNum.h 1996-02-18 19:57:36.000000000 -0500 -+++ events/MPortNum.h 2012-04-07 14:08:43.000000000 -0400 -@@ -44,7 +44,7 @@ - {return (new MetaPortNumberEvent(*this));} - - virtual EventType GetType(void) const {return (METAPORTNUMBER);} -- virtual char *GetTypeStr(void) const -+ virtual const char *GetTypeStr(void) const - {return ("MetaPortNumberEvent");} - virtual char *GetEventStr(void) const; - int GetPort(void) const { ---- events/MSMPTE.h 1996-02-18 19:57:40.000000000 -0500 -+++ events/MSMPTE.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new MetaSMPTEEvent(*this));} - - virtual EventType GetType(void) const {return (METASMPTE);} -- virtual char *GetTypeStr(void) const {return ("MetaSMPTEEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaSMPTEEvent");} - virtual char *GetEventStr(void) const; - int GetHour(void) const { - if (GetWildcard(wc_hour)) ---- events/MSeqNam.h 1996-02-12 19:25:44.000000000 -0500 -+++ events/MSeqNam.h 2012-04-07 14:08:43.000000000 -0400 -@@ -44,7 +44,7 @@ - {return (new MetaSequenceNameEvent(*this));} - - virtual EventType GetType(void) const {return (METASEQUENCENAME);} -- virtual char *GetTypeStr(void) const {return ("MetaSequenceNameEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaSequenceNameEvent");} - virtual char *GetEventStr(void) const; - - MetaSequenceNameEvent &operator=(const MetaSequenceNameEvent &e); ---- events/MSeqNum.h 1996-02-18 19:57:43.000000000 -0500 -+++ events/MSeqNum.h 2012-04-07 14:08:43.000000000 -0400 -@@ -44,7 +44,7 @@ - {return (new MetaSequenceNumberEvent(*this));} - - virtual EventType GetType(void) const {return (METASEQUENCENUMBER);} -- virtual char *GetTypeStr(void) const -+ virtual const char *GetTypeStr(void) const - {return ("MetaSequenceNumberEvent");} - virtual char *GetEventStr(void) const; - long GetNumber(void) const { ---- events/MSeqSpec.cxx 1996-07-28 15:09:24.000000000 -0400 -+++ events/MSeqSpec.cxx 2012-04-07 15:47:09.000000000 -0400 -@@ -74,7 +74,7 @@ - MetaSequencerSpecificEvent::~MetaSequencerSpecificEvent() - { - -- delete data; -+ delete[] data; - } - - void -@@ -82,7 +82,7 @@ - { - - if (data != 0) -- delete data; -+ delete[] data; - if (dat == WC_DATA || len == WC_LENGTH) { - SetWildcard(wc_data); - data = 0; -@@ -102,7 +102,7 @@ - - (MetaEvent)*this = (MetaEvent)e; - if (data != 0) -- delete data; -+ delete[] data; - if (e.GetWildcard(wc_data)) { - data = 0; - length = -1; -@@ -144,7 +144,7 @@ - const unsigned char *ptr; - - if (data != 0) -- delete data; -+ delete[] data; - if ((length = t.GetVarValue()) == -1) - return ("Incomplete MetaSequenceSpecificEvent - bad length"); - data = new unsigned char[length]; ---- events/MSeqSpec.h 1996-02-18 19:57:45.000000000 -0500 -+++ events/MSeqSpec.h 2012-04-07 14:08:43.000000000 -0400 -@@ -46,7 +46,7 @@ - {return (new MetaSequencerSpecificEvent(*this));} - - virtual EventType GetType(void) const {return (METASEQUENCERSPECIFIC);} -- virtual char *GetTypeStr(void) const -+ virtual const char *GetTypeStr(void) const - {return ("MetaSequencerSpecificEvent");} - virtual char *GetEventStr(void) const; - const unsigned char *GetData(void) const { ---- events/MTempo.h 1996-02-18 19:57:49.000000000 -0500 -+++ events/MTempo.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new MetaTempoEvent(*this));} - - virtual EventType GetType(void) const {return (METATEMPO);} -- virtual char *GetTypeStr(void) const {return ("MetaTempoEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaTempoEvent");} - virtual char *GetEventStr(void) const; - short GetTempo(void) const { - if (GetWildcard(wc_tempo)) ---- events/MText.cxx 1996-07-28 15:09:25.000000000 -0400 -+++ events/MText.cxx 2012-04-07 15:46:17.000000000 -0400 -@@ -83,14 +83,14 @@ - MetaTextEvent::~MetaTextEvent() - { - -- delete string; -+ delete[] string; - } - - void - MetaTextEvent::SetString(const char *str) - { - -- delete string; -+ delete[] string; - if (str == WC_STRING) { - string = 0; - length = -1; -@@ -110,7 +110,7 @@ - - (MetaEvent)*this = (MetaEvent)e; - length = e.length; -- delete string; -+ delete[] string; - if (e.GetWildcard(wc_string)) { - string = 0; - return (*this); -@@ -144,7 +144,7 @@ - const unsigned char *ptr; - - if (string != 0) -- delete string; -+ delete[] string; - if ((length = t.GetVarValue()) == -1) - return ("Incomplete MetaTextEvent - bad length"); - string = new char[length + 1]; ---- events/MText.h 1996-02-18 19:57:52.000000000 -0500 -+++ events/MText.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaTextEvent(*this));} - - virtual EventType GetType(void) const {return (METATEXT);} -- virtual char *GetTypeStr(void) const {return ("MetaTextEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaTextEvent");} - virtual char *GetEventStr(void) const; - const char *GetString(void) const { - if (GetWildcard(wc_string)) ---- events/MTime.h 1996-02-18 19:57:55.000000000 -0500 -+++ events/MTime.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new MetaTimeEvent(*this));} - - virtual EventType GetType(void) const {return (METATIME);} -- virtual char *GetTypeStr(void) const {return ("MetaTimeEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaTimeEvent");} - virtual char *GetEventStr(void) const; - int GetNumerator(void) const { - if (GetWildcard(wc_numerator)) ---- events/MUnknown.cxx 1996-07-28 15:09:26.000000000 -0400 -+++ events/MUnknown.cxx 2012-04-07 15:48:00.000000000 -0400 -@@ -86,14 +86,14 @@ - MetaUnknownEvent::~MetaUnknownEvent() - { - -- delete data; -+ delete[] data; - } - - void - MetaUnknownEvent::SetData(const unsigned char *dat, long len) - { - -- delete data; -+ delete[] data; - if (dat == WC_DATA || len == WC_LENGTH) { - SetWildcard(wc_data); - data = 0; -@@ -111,7 +111,7 @@ - { - - (MetaEvent)*this = (MetaEvent)e; -- delete data; -+ delete[] data; - type = e.type; - if (e.GetWildcard(wc_data)) { - data = 0; -@@ -158,7 +158,7 @@ - const unsigned char *ptr; - - if (data != 0) -- delete data; -+ delete[] data; - if ((length = t.GetVarValue()) == -1) - return ("Incomplete MetaUnknownEvent - bad length"); - data = new unsigned char[length]; ---- events/MUnknown.h 1996-02-25 18:09:15.000000000 -0500 -+++ events/MUnknown.h 2012-04-07 14:08:43.000000000 -0400 -@@ -45,7 +45,7 @@ - virtual Event *Dup(void) const {return (new MetaUnknownEvent(*this));} - - virtual EventType GetType(void) const {return (METAUNKNOWN);} -- virtual char *GetTypeStr(void) const {return ("MetaUnknownEvent");} -+ virtual const char *GetTypeStr(void) const {return ("MetaUnknownEvent");} - virtual char *GetEventStr(void) const; - const unsigned char *GetData(void) const { - if (GetWildcard(wc_data)) ---- events/NormEvnt.h 1996-02-18 19:58:01.000000000 -0500 -+++ events/NormEvnt.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new NormalEvent(*this));} - - virtual EventType GetType(void) const {return (NORMAL);} -- virtual char *GetTypeStr(void) const {return ("NormalEvent");} -+ virtual const char *GetTypeStr(void) const {return ("NormalEvent");} - virtual char *GetEventStr(void) const; - int GetChannel(void) const { - if (GetWildcard(wc_channel)) ---- events/Note.h 1996-02-25 18:09:19.000000000 -0500 -+++ events/Note.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new NoteEvent(*this));} - - virtual EventType GetType(void) const {return (NOTE);} -- virtual char *GetTypeStr(void) const {return ("NoteEvent");} -+ virtual const char *GetTypeStr(void) const {return ("NoteEvent");} - virtual char *GetEventStr(void) const; - int GetPitch(void) const { - if (GetWildcard(wc_pitch)) ---- events/NoteOff.h 1996-02-18 19:58:07.000000000 -0500 -+++ events/NoteOff.h 2012-04-07 14:08:43.000000000 -0400 -@@ -43,7 +43,7 @@ - virtual Event *Dup(void) const {return (new NoteOffEvent(*this));} - - virtual EventType GetType(void) const {return (NOTEOFF);} -- virtual char *GetTypeStr(void) const {return ("NoteOffEvent");} -+ virtual const char *GetTypeStr(void) const {return ("NoteOffEvent");} - virtual char *GetEventStr(void) const; - - NoteOffEvent &operator=(const NoteOffEvent &e); ---- events/NoteOn.h 1996-02-25 18:09:22.000000000 -0500 -+++ events/NoteOn.h 2012-04-07 14:08:43.000000000 -0400 -@@ -45,7 +45,7 @@ - virtual Event *Dup(void) const {return (new NoteOnEvent(*this));} - - virtual EventType GetType(void) const {return (NOTEON);} -- virtual char *GetTypeStr(void) const {return ("NoteOnEvent");} -+ virtual const char *GetTypeStr(void) const {return ("NoteOnEvent");} - virtual char *GetEventStr(void) const; - - unsigned long GetDuration(void) const { ---- events/Param.h 1996-02-18 19:58:13.000000000 -0500 -+++ events/Param.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new ParameterEvent(*this));} - - virtual EventType GetType(void) const {return (PARAMETER);} -- virtual char *GetTypeStr(void) const {return ("ParameterEvent");} -+ virtual const char *GetTypeStr(void) const {return ("ParameterEvent");} - virtual char *GetEventStr(void) const; - int GetParameter(void) const { - if (GetWildcard(wc_parameter)) ---- events/PitchWhl.h 1996-02-18 19:58:16.000000000 -0500 -+++ events/PitchWhl.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new PitchWheelEvent(*this));} - - virtual EventType GetType(void) const {return (PITCHWHEEL);} -- virtual char *GetTypeStr(void) const {return ("PitchWheelEvent");} -+ virtual const char *GetTypeStr(void) const {return ("PitchWheelEvent");} - virtual char *GetEventStr(void) const; - long GetValue(void) const { - if (GetWildcard(wc_value)) ---- events/Program.h 1996-02-18 19:58:19.000000000 -0500 -+++ events/Program.h 2012-04-07 14:08:43.000000000 -0400 -@@ -42,7 +42,7 @@ - virtual Event *Dup(void) const {return (new ProgramEvent(*this));} - - virtual EventType GetType(void) const {return (PROGRAM);} -- virtual char *GetTypeStr(void) const {return ("ProgramEvent");} -+ virtual const char *GetTypeStr(void) const {return ("ProgramEvent");} - virtual char *GetEventStr(void) const; - int GetValue(void) const { - if (GetWildcard(wc_value)) ---- events/SysEx.cxx 1996-07-28 15:09:30.000000000 -0400 -+++ events/SysEx.cxx 2012-04-07 15:44:56.000000000 -0400 -@@ -81,7 +81,7 @@ - SystemExclusiveEvent::~SystemExclusiveEvent() - { - -- delete data; -+ delete[] data; - } - - void -@@ -89,7 +89,7 @@ - { - - if (data != 0) -- delete data; -+ delete[] data; - if (len == WC_LENGTH || dat == WC_DATA) { - SetWildcard(wc_data); - data = 0; -@@ -107,7 +107,7 @@ - - (Event)*this = (Event)e; - if (data != 0) -- delete data; -+ delete[] data; - continued = e.continued; - length = e.length; - if (e.GetWildcard(wc_data)) { -@@ -148,7 +148,7 @@ - const unsigned char *ptr; - - if (data != 0) -- delete data; -+ delete[] data; - if ((length = t.GetVarValue()) == -1) - return ("Incomplete SystemExclusiveEvent - bad length"); - data = new unsigned char[length]; ---- events/SysEx.h 1996-02-18 19:58:22.000000000 -0500 -+++ events/SysEx.h 2012-04-07 14:08:43.000000000 -0400 -@@ -46,7 +46,7 @@ - {return (new SystemExclusiveEvent(*this));} - - virtual EventType GetType(void) const {return (SYSTEMEXCLUSIVE);} -- virtual char *GetTypeStr(void) const {return ("SystemExclusiveEvent");} -+ virtual const char *GetTypeStr(void) const {return ("SystemExclusiveEvent");} - virtual char *GetEventStr(void) const; - const unsigned char *GetData(void) const { - if (GetWildcard(wc_data)) ---- smf/SMFUtils.cxx 1996-08-04 23:47:36.000000000 -0400 -+++ smf/SMFUtils.cxx 2012-04-07 14:08:43.000000000 -0400 -@@ -59,7 +59,7 @@ - } - - long --MWrite(int fd, char *data, long len) -+MWrite(int fd, const char *data, long len) - { - int num_written; - int total_written; -@@ -96,7 +96,7 @@ - } - - long --MWrite(Tcl_Channel channel, char *data, long len) -+MWrite(Tcl_Channel channel, const char *data, long len) - { - int num_written; - int total_written; -@@ -116,7 +116,7 @@ - - - long --VarToFix(unsigned char *var, int *len) -+VarToFix(const unsigned char *var, int *len) - { - long fix; - ---- smf/SMFUtils.h 1996-08-04 23:47:36.000000000 -0400 -+++ smf/SMFUtils.h 2012-04-07 14:08:43.000000000 -0400 -@@ -147,9 +147,9 @@ - - - extern long MRead(int fd, char *data, long len); --extern long MWrite(int fd, char *data, long len); -+extern long MWrite(int fd, const char *data, long len); - extern long MRead(Tcl_Channel channel, char *data, long len); --extern long MWrite(Tcl_Channel channel, char *data, long len); --extern long VarToFix(unsigned char *var, int *len); -+extern long MWrite(Tcl_Channel channel, const char *data, long len); -+extern long VarToFix(const unsigned char *var, int *len); - extern int FixToVar(long fix, unsigned char *var); - #endif ---- song/Song.cxx 1996-08-04 23:47:39.000000000 -0400 -+++ song/Song.cxx 2012-04-11 01:02:09.000000000 -0400 -@@ -51,7 +51,7 @@ - } - for (i = 0; i < s.num_tracks; i++) { - tracks[i] = new EventTree(*s.tracks[i]); -- assert(tracks[1] != 0); -+ assert(tracks[i] != 0); - } - } - -@@ -102,7 +102,7 @@ - - for (i = 0; i < num_tracks; i++) - delete tracks[i]; -- delete tracks; -+ delete[] tracks; - } - - Event * ---- tclmEvnt.cxx 1996-07-29 20:14:11.000000000 -0400 -+++ tclmEvnt.cxx 2012-04-07 15:42:14.000000000 -0400 -@@ -44,6 +44,9 @@ - #include "tclmidi.h" - #include "tclmEvnt.h" - -+#define SET_CONST_RESULT(string) \ -+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC) -+ - void - Tclm_PrintEvent(ostream &buf, Event *e) - { -@@ -148,7 +151,7 @@ - buf << "* " << str << ends; - else - buf << e->GetTime() << " " << str << ends; -- delete str; -+ delete[] str; - } - - char * -@@ -552,13 +555,9 @@ - } - - char * --Tclm_PrintMetaEndOfTrack(MetaEndOfTrackEvent *e) -+Tclm_PrintMetaEndOfTrack(MetaEndOfTrackEvent *) - { - ostrstream buf; -- MetaEndOfTrackEvent *dummy; -- -- // shut up a warning -- dummy = e; - - buf << "MetaEndOfTrack" << ends; - return (buf.str()); -@@ -722,11 +721,11 @@ - } - - Event * --Tclm_ParseEvent(Tcl_Interp *interp, char *str) -+Tclm_ParseEvent(Tcl_Interp *interp, const char *str) - { - Event *event; -- Event *(*pfunc)(Tcl_Interp *, long, int, char **); -- char **argv, **aptr;; -+ Event *(*pfunc)(Tcl_Interp *, long, int, const char **); -+ const char **argv, **aptr; - char *name; - long time; - int argc, i, length; -@@ -852,18 +851,19 @@ - } - event = pfunc(interp, time, argc, argv); - Tcl_Ckfree((char *)aptr); -- delete name; -+ delete[] name; - return (event); - } - - Event * --Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, pitch, velocity; - - if (argc != 3 && argc != 4) { -- Tcl_SetResult(interp, "bad event: should be \"time NoteOff " -- "channel pitch ?velocity?\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time NoteOff " -+ "channel pitch ?velocity?\""); - return (0); - } - -@@ -886,13 +886,14 @@ - } - - Event * --Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, pitch, velocity; - - if (argc != 4) { -- Tcl_SetResult(interp, "bad event: should be \"time NoteOn " -- "channel pitch velocity\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time NoteOn " -+ "channel pitch velocity\""); - return (0); - } - -@@ -913,7 +914,8 @@ - } - - Event * --Tclm_ParseNote(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseNote(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - NoteOnEvent *event; - NoteOffEvent *off; -@@ -921,8 +923,8 @@ - int channel, pitch, velocity; - - if (argc != 5) { -- Tcl_SetResult(interp, "bad event: should be \"time Note " -- "channel pitch velocity duration\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time Note " -+ "channel pitch velocity duration\""); - return (0); - } - -@@ -964,13 +966,14 @@ - } - - Event * --Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, pitch, pressure; - - if (argc != 4) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time KeyPressure channel pitch pressure\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time KeyPressure channel pitch pressure\""); - return (0); - } - -@@ -991,13 +994,14 @@ - } - - Event * --Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, parameter, value; - - if (argc != 4) { -- Tcl_SetResult(interp, "bad event: should be \"time Parameter " -- "channel parameter value\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time Parameter " -+ "channel parameter value\""); - return (0); - } - -@@ -1018,13 +1022,14 @@ - } - - Event * --Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, value; - - if (argc != 3) { -- Tcl_SetResult(interp, "bad event: should be \"time Program " -- "channel value\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time Program " -+ "channel value\""); - return (0); - } - -@@ -1041,13 +1046,14 @@ - } - - Event * --Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel, pressure; - - if (argc != 3) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time ChannelPressure channel pressure\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time ChannelPressure channel pressure\""); - return (0); - } - -@@ -1064,14 +1070,15 @@ - } - - Event * --Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int channel; - long value; - - if (argc != 3) { -- Tcl_SetResult(interp, "bad event: should be \"time PitchWheel " -- "channel value\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time PitchWheel " -+ "channel value\""); - return (0); - } - -@@ -1088,19 +1095,19 @@ - } - - Event * --Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { -- char **str; -+ const char **str; - SystemExclusiveEvent *event; - unsigned char *data; -- long len; -+ int len; - int i, val; - - if ((argc != 2 && argc != 3) || (argc == 3 && strncmp(argv[1], "cont", - 4) != 0)) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time SystemExclusive ?continued? {data ?data ...?}\"", -- TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time SystemExclusive ?continued? {data ?data ...?}\""); - return (0); - } - -@@ -1111,7 +1118,7 @@ - event = new SystemExclusiveEvent(time, data, len); - return (event); - } -- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK) -+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK) - return (0); - } else { - if (strcmp(argv[2], "*") == 0) { -@@ -1121,7 +1128,7 @@ - event->SetContinued(1); - return (event); - } -- if (Tcl_SplitList(interp, argv[2], (int *)&len, &str) != TCL_OK) -+ if (Tcl_SplitList(interp, argv[2], &len, &str) != TCL_OK) - return (0); - } - -@@ -1139,20 +1146,20 @@ - event = new SystemExclusiveEvent(time, data, len); - if (argc == 3) - event->SetContinued(1); -- delete data; -+ delete[] data; - - return (event); - } - - Event * - Tclm_ParseMetaSequenceNumber(Tcl_Interp *interp, long time, int argc, -- char **argv) -+ const char **argv) - { - long num; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaSequenceNumber number\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaSequenceNumber number\""); - return (0); - } - -@@ -1165,13 +1172,14 @@ - } - - Event * --Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaText " -- "string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaText " -+ "string\""); - return (0); - } - if (strcmp(argv[1], "*") == 0) -@@ -1183,13 +1191,14 @@ - } - - Event * --Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaCopyright string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaCopyright string\""); - return (0); - } - -@@ -1203,13 +1212,13 @@ - - Event * - Tclm_ParseMetaSequenceName(Tcl_Interp *interp, long time, int argc, -- char **argv) -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaSequenceName string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaSequenceName string\""); - return (0); - } - -@@ -1223,13 +1232,13 @@ - - Event * - Tclm_ParseMetaInstrumentName(Tcl_Interp *interp, long time, int argc, -- char **argv) -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaInstrumentName string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaInstrumentName string\""); - return (0); - } - -@@ -1242,13 +1251,14 @@ - } - - Event * --Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaLyric " -- "string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaLyric " -+ "string\""); - return (0); - } - -@@ -1261,13 +1271,14 @@ - } - - Event * --Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaMarker " -- "string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaMarker " -+ "string\""); - return (0); - } - -@@ -1280,13 +1291,14 @@ - } - - Event * --Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - const char *t; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaCue " -- "string\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaCue " -+ "string\""); - return (0); - } - -@@ -1300,17 +1312,17 @@ - - Event * - Tclm_ParseMetaChannelPrefix(Tcl_Interp *interp, long time, int argc, -- char **argv) -+ const char **argv) - { -- char **str; -+ const char **str; - MetaChannelPrefixEvent *event; - unsigned char *data; -- long len; -+ int len; - int i, val; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaChannelPrefix {data ?data ...?}\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaChannelPrefix {data ?data ...?}\""); - return (0); - } - -@@ -1319,7 +1331,7 @@ - len = MetaChannelPrefixEvent::WC_LENGTH; - return (new MetaChannelPrefixEvent(time, data, len)); - } -- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK) -+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK) - return (0); - - data = new unsigned char[len]; -@@ -1334,19 +1346,20 @@ - - Tcl_Ckfree((char *)str); - event = new MetaChannelPrefixEvent(time, data, len); -- delete data; -+ delete[] data; - - return (event); - } - - Event * --Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int port; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaPortNumber port\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaPortNumber port\""); - return (0); - } - -@@ -1359,16 +1372,13 @@ - } - - Event * --Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc, -+ const char **) - { -- char *dummy; -- -- // shut up a warning -- dummy = argv[0]; - - if (argc != 1) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaEndOfTrack\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaEndOfTrack\""); - return (0); - } - -@@ -1376,13 +1386,14 @@ - } - - Event * --Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int tempo; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaTempo " -- "tempo\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaTempo " -+ "tempo\""); - return (0); - } - -@@ -1395,13 +1406,14 @@ - } - - Event * --Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int hour, minute, second, frame, fractional_frame; - - if (argc != 6) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaSMPTE " -- "hour minute second frame fractional_frame\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaSMPTE " -+ "hour minute second frame fractional_frame\""); - return (0); - } - -@@ -1431,14 +1443,14 @@ - } - - Event * --Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - int numerator, denominator, clocks, thirty_seconds; - - if (argc != 5) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaTime " -- "numerator denominator clocks/beat 32nds/quarter\"", -- TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaTime " -+ "numerator denominator clocks/beat 32nds/quarter\""); - return (0); - } - -@@ -1464,15 +1476,16 @@ - } - - Event * --Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { - Key key; - Mode mode; - int match; - - if (argc != 3) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaKey " -- "key mode\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaKey " -+ "key mode\""); - return (0); - } - -@@ -1500,18 +1513,17 @@ - - Event * - Tclm_ParseMetaSequencerSpecific(Tcl_Interp *interp, long time, int argc, -- char **argv) -+ const char **argv) - { -- char **str; -+ const char **str; - MetaSequencerSpecificEvent *event; - unsigned char *data; -- long len; -+ int len; - int i, val; - - if (argc != 2) { -- Tcl_SetResult(interp, "bad event: should be " -- "\"time MetaSequencerSpecific {data ?data ...?}\"", -- TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be " -+ "\"time MetaSequencerSpecific {data ?data ...?}\""); - return (0); - } - -@@ -1520,7 +1532,7 @@ - len = MetaSequencerSpecificEvent::WC_LENGTH; - return (new MetaSequencerSpecificEvent(time, data, len)); - } -- if (Tcl_SplitList(interp, argv[1], (int *)&len, &str) != TCL_OK) -+ if (Tcl_SplitList(interp, argv[1], &len, &str) != TCL_OK) - return (0); - - data = new unsigned char[len]; -@@ -1535,23 +1547,24 @@ - - Tcl_Ckfree((char *)str); - event = new MetaSequencerSpecificEvent(time, data, len); -- delete data; -+ delete[] data; - - return (event); - } - - Event * --Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc, char **argv) -+Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc, -+ const char **argv) - { -- char **str; -+ const char **str; - MetaUnknownEvent *event; - unsigned char *data; -- long len; -+ int len; - int i, type, val; - - if (argc != 3) { -- Tcl_SetResult(interp, "bad event: should be \"time MetaUnknown " -- "type {data ?data ...?}\"", TCL_STATIC); -+ SET_CONST_RESULT("bad event: should be \"time MetaUnknown " -+ "type {data ?data ...?}\""); - return (0); - } - -@@ -1565,7 +1578,7 @@ - len = MetaUnknownEvent::WC_LENGTH; - return (new MetaUnknownEvent(time, data, len, type)); - } -- if (Tcl_SplitList(interp, argv[2], (int *)&len, &str) != TCL_OK) -+ if (Tcl_SplitList(interp, argv[2], &len, &str) != TCL_OK) - return (0); - - data = new unsigned char[len]; -@@ -1580,7 +1593,7 @@ - - Tcl_Ckfree((char *)str); - event = new MetaUnknownEvent(time, data, len, type); -- delete data; -+ delete[] data; - - return (event); - } ---- tclmEvnt.h 1996-02-12 19:25:00.000000000 -0500 -+++ tclmEvnt.h 2012-04-07 14:08:43.000000000 -0400 -@@ -61,57 +61,57 @@ - extern char *Tclm_PrintMetaKey(MetaKeyEvent *e); - extern char *Tclm_PrintMetaSequencerSpecific(MetaSequencerSpecificEvent *e); - extern char *Tclm_PrintMetaUnknown(MetaUnknownEvent *e); --extern Event *Tclm_ParseEvent(Tcl_Interp *interp, char *str); -+extern Event *Tclm_ParseEvent(Tcl_Interp *interp, const char *str); - extern Event *Tclm_ParseNoteOff(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseNoteOn(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseNote(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseKeyPressure(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseParameter(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseProgram(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseChannelPressure(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParsePitchWheel(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseSystemExclusive(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaSequenceNumber(Tcl_Interp *interp, long time, -- int argc, char **argv); -+ int argc, const char **argv); - extern Event *Tclm_ParseMetaText(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaCopyright(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaSequenceName(Tcl_Interp *interp, long time, -- int argc, char **argv); -+ int argc, const char **argv); - extern Event *Tclm_ParseMetaInstrumentName(Tcl_Interp *interp, long time, -- int argc, char **argv); -+ int argc, const char **argv); - extern Event *Tclm_ParseMetaLyric(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaMarker(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaCue(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaChannelPrefix(Tcl_Interp *interp, long time, -- int argc, char **argv); -+ int argc, const char **argv); - extern Event *Tclm_ParseMetaPortNumber(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaEndOfTrack(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaTempo(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaSMPTE(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaTime(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaKey(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - extern Event *Tclm_ParseMetaSequencerSpecific(Tcl_Interp *interp, long time, -- int argc, char **argv); -+ int argc, const char **argv); - extern Event *Tclm_ParseMetaUnknown(Tcl_Interp *interp, long time, int argc, -- char **argv); -+ const char **argv); - #endif ---- tclmPtch.cxx 1996-08-04 23:47:13.000000000 -0400 -+++ tclmPtch.cxx 2012-04-07 14:08:43.000000000 -0400 -@@ -37,10 +37,8 @@ - #include "tclmidi.h" - #include "TclmIntp.h" - --static int Tclm_PatchRead(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_PatchFree(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); -+static Tcl_CmdProc Tclm_PatchRead; -+static Tcl_CmdProc Tclm_PatchFree; - - int - Tclm_PatchInit(Tcl_Interp *interp, TclmInterp *tclm_interp) -@@ -53,7 +51,7 @@ - - int - Tclm_PatchRead(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - Tcl_Channel channel; - int mode; -@@ -96,7 +94,7 @@ - - int - Tclm_PatchFree(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - ---- song/EvntTree.cxx.orig 1996-08-05 05:47:38.000000000 +0200 -+++ song/EvntTree.cxx 2013-05-14 11:22:45.000000000 +0200 -@@ -611,7 +611,7 @@ - for (j = 0; j < num_found; j++) - new_found[j] = found[j]; - new_found[j] = e; -- delete found; -+ delete[] found; - found = new_found; - num_found++; - } -@@ -631,7 +631,7 @@ - for (j = 0; j < num_found; j++) - new_found[j] = found[j]; - new_found[j] = e; -- delete found; -+ delete[] found; - found = new_found; - num_found++; - } -@@ -735,6 +735,7 @@ - assert(new_event != 0); - place = rb_insert_b(place, (char *)time, (char *)new_event); - } -+ - curr_event = new_event; - new_event->SetEventTreeNode(place); - return (new_event); -@@ -746,7 +747,7 @@ - Event *e, *events, *prev; - EventTreeNode *n, *next_n; - -- n = (EventTreeNode *)event.GetEventTreeNode(); -+ n = event.GetEventTreeNode(); - if (n != 0) { - e = &event; - prev = e->GetPrevEvent(); -@@ -785,6 +786,9 @@ - } - - } -+ if (e->GetNextEvent() == 0 || -+ (prev && prev->GetEventTreeNode() != n)) -+ rb_delete_node(n); - } else { - // This is the only event in the node - if (curr_event == e) { -@@ -818,7 +822,7 @@ - /* get each event in order and delete it */ - while ((e = NextEvent()) != 0) - DeleteEvent(*e); -- -+ - /* then free head */ - free(head); - head = 0; ---- tclmPlay.cxx.orig 1996-08-05 05:47:12.000000000 +0200 -+++ tclmPlay.cxx 2013-06-05 15:46:23.000000000 +0200 -@@ -43,30 +43,24 @@ - #include "TclmDr75.h" - #endif - -+#define SET_CONST_RESULT(string) \ -+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC) -+ - #if defined(HAVE_SYS_MIDIIOCTL_H) - static const int DeviceConfigured = 1; - #else - static const int DeviceConfigured = 0; - #endif - --static int Tclm_MidiPlay(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiRecord(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiStop(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiWait(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiDevice(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiTime(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiFeature(ClientData client_data, Tcl_Interp *interp, -- int argc, char **argv); --static int Tclm_MidiSend(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiRecv(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); -+static Tcl_CmdProc Tclm_MidiPlay; -+static Tcl_CmdProc Tclm_MidiRecord; -+static Tcl_CmdProc Tclm_MidiStop; -+static Tcl_CmdProc Tclm_MidiWait; -+static Tcl_CmdProc Tclm_MidiDevice; -+static Tcl_CmdProc Tclm_MidiTime; -+static Tcl_CmdProc Tclm_MidiFeature; -+static Tcl_CmdProc Tclm_MidiSend; -+static Tcl_CmdProc Tclm_MidiRecv; - - int - Tclm_PlayInit(Tcl_Interp *interp, TclmInterp *tclm_interp) -@@ -89,7 +83,7 @@ - - int - Tclm_MidiPlay(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -130,13 +124,13 @@ - dev->GetError(), 0); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - int - Tclm_MidiRecord(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *rsong, *psong; -@@ -185,13 +179,13 @@ - dev->GetError(), 0); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - int - Tclm_MidiStop(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - MidiDevice *dev; -@@ -214,13 +208,13 @@ - dev->GetError(), 0); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - int - Tclm_MidiWait(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - MidiDevice *dev; -@@ -241,19 +235,20 @@ - "to stop\n", dev->GetError(), 0); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - int - Tclm_MidiDevice(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - MidiDevice *dev; - ostrstream *buf; - unsigned short mask; -- char *dev_key, *str, **sub_argv; -+ const char *dev_key, **sub_argv; -+ char *str; - int con, i, imask, j, mt, sub_argc, value; - - tclm_interp = (TclmInterp *)client_data; -@@ -293,7 +288,7 @@ - dev = 0; - #endif - if (dev == 0) { -- Tcl_SetResult(interp, "Out of memory", TCL_STATIC); -+ SET_CONST_RESULT("Out of memory"); - return (TCL_ERROR); - } - if (!dev->Open(argv[1])) { -@@ -303,8 +298,7 @@ - } - dev_key = tclm_interp->AddDevice(dev); - if (dev_key == 0) { -- Tcl_SetResult(interp, "Couldn't add device", -- TCL_STATIC); -+ SET_CONST_RESULT("Couldn't add device"); - return (TCL_ERROR); - } - Tcl_AppendResult(interp, dev_key, 0); -@@ -317,13 +311,13 @@ - return (TCL_ERROR); - if (strcmp(sub_argv[0], "close") == 0) { - if (i != argc - 1) { -- Tcl_SetResult(interp, "Can't perform ops after " -- "closing device", TCL_STATIC); -+ SET_CONST_RESULT("Can't perform ops after " -+ "closing device"); - return (TCL_ERROR); - } - if (dev_key == 0) { -- Tcl_SetResult(interp, "Can't close until after " -- "device has been opened", TCL_STATIC); -+ SET_CONST_RESULT("Can't close until after " -+ "device has been opened"); - return (TCL_ERROR); - } - tclm_interp->DeleteDevice(dev_key); -@@ -465,7 +459,7 @@ - - int - Tclm_MidiTime(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - ostrstream tbuf; - unsigned long t; -@@ -498,11 +492,11 @@ - - int - Tclm_MidiFeature(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - MidiDevice *dev; -- char **sub_argv; -+ const char **sub_argv; - int i, sub_argc; - - if (argc < 3) { -@@ -542,7 +536,7 @@ - - int - Tclm_MidiSend(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - MidiDevice *dev; -@@ -564,7 +558,7 @@ - - events = new Event *[argc - 2]; - if (events == 0) { -- Tcl_SetResult(interp, "Out of memory", TCL_STATIC); -+ SET_CONST_RESULT("Out of memory"); - return (TCL_ERROR); - } - num_events = 0; -@@ -584,9 +578,8 @@ - num_events++; - } - } else { -- if (strlen(interp->result) == 0) { -- Tcl_SetResult(interp, "Out of memory", -- TCL_STATIC); -+ if (strlen(Tcl_GetStringResult(interp)) == 0) { -+ SET_CONST_RESULT("Out of memory"); - return (TCL_ERROR); - } - } -@@ -603,7 +596,7 @@ - - int - Tclm_MidiRecv(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - ostrstream *buf; - TclmInterp *tclm_interp; ---- tclmCmd.cxx.orig 1996-08-05 05:47:12.000000000 +0200 -+++ tclmCmd.cxx 2013-06-05 15:46:37.000000000 +0200 -@@ -41,39 +41,27 @@ - #include "tclmEvnt.h" - #include "patchlvl.h" - --static int Tclm_MidiMake(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiFree(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiRead(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiWrite(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiConfig(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiRewind(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiGet(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiPut(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiDelete(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiMerge(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiSplit(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiCopy(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv); --static int Tclm_MidiVersion(ClientData client_data, Tcl_Interp *interp, -- int argc, char **argv); --static int Tclm_MidiTrack(ClientData client_data, Tcl_Interp *interp, -- int argc, char **argv); --static int Tclm_MidiGrep(ClientData client_data, Tcl_Interp *interp, -- int argc, char **argv); -+static Tcl_CmdProc Tclm_MidiMake; -+static Tcl_CmdProc Tclm_MidiFree; -+static Tcl_CmdProc Tclm_MidiRead; -+static Tcl_CmdProc Tclm_MidiWrite; -+static Tcl_CmdProc Tclm_MidiConfig; -+static Tcl_CmdProc Tclm_MidiRewind; -+static Tcl_CmdProc Tclm_MidiGet; -+static Tcl_CmdProc Tclm_MidiPut; -+static Tcl_CmdProc Tclm_MidiDelete; -+static Tcl_CmdProc Tclm_MidiMerge; -+static Tcl_CmdProc Tclm_MidiSplit; -+static Tcl_CmdProc Tclm_MidiCopy; -+static Tcl_CmdProc Tclm_MidiVersion; -+static Tcl_CmdProc Tclm_MidiTrack; -+static Tcl_CmdProc Tclm_MidiGrep; - static int Tclm_GetTrack(TclmInterp *tclm_interp, Tcl_Interp *interp, - const char *str, Song **song, int *track); - -+#define SET_CONST_RESULT(string) \ -+ Tcl_SetResult(interp, (char *)(void *)string, TCL_STATIC) -+ - - /* - * DllEntryPoint -- -@@ -98,8 +86,7 @@ - - ti = new TclmInterp; - if (ti == 0) { -- Tcl_SetResult(interp, "Out of memory in Tclmidi_Init", -- TCL_STATIC); -+ SET_CONST_RESULT("Out of memory in Tclmidi_Init"); - return (TCL_ERROR); - } - Tcl_CreateCommand(interp, "midimake", Tclm_MidiMake, ti, 0); -@@ -129,7 +116,7 @@ - - int - Tclm_MidiMake(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *s; -@@ -145,13 +132,13 @@ - s = new Song; - key = tclm_interp->AddSong(s); - Tcl_SetResult(interp, key, TCL_VOLATILE); -- delete key; -+ delete[] key; - return (TCL_OK); - } - - int - Tclm_MidiFree(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - -@@ -171,7 +158,7 @@ - - int - Tclm_MidiRead(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - Tcl_Channel channel; - int mode; -@@ -211,7 +198,7 @@ - - int - Tclm_MidiWrite(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -250,12 +237,13 @@ - - int - Tclm_MidiConfig(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - ostrstream *buf; - TclmInterp *tclm_interp; - Song *song; -- char *str, **sub_argv; -+ char *str; -+ const char **sub_argv; - int i, sub_argc, value; - - if (argc < 2) { -@@ -338,8 +326,8 @@ - } - break; - default: -- Tcl_SetResult(interp, "wrong # args: should be " -- "{format|division|tracks ?value?}", TCL_STATIC); -+ SET_CONST_RESULT("wrong # args: should be " -+ "{format|division|tracks ?value?}"); - return (TCL_ERROR); - break; - } -@@ -350,7 +338,7 @@ - - int - Tclm_MidiRewind(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -380,7 +368,7 @@ - - int - Tclm_MidiGet(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - ostrstream *buf; - long time; -@@ -421,7 +409,7 @@ - printable = 0; - while (!printable) { - if ((e = song->NextEvent(track)) == 0) { -- Tcl_SetResult(interp, "EOT", TCL_STATIC); -+ SET_CONST_RESULT("EOT"); - printable = 1; - } else { - buf = new ostrstream; -@@ -432,7 +420,7 @@ - TCL_VOLATILE); - printable = 1; - } -- delete str; -+ delete[] str; - delete buf; - } - } -@@ -440,7 +428,7 @@ - printable = 0; - while (!printable) { - if ((e = song->PrevEvent(track)) == 0) { -- Tcl_SetResult(interp, "EOT", TCL_STATIC); -+ SET_CONST_RESULT("EOT"); - printable = 1; - } else { - buf = new ostrstream; -@@ -459,7 +447,7 @@ - if (Tcl_GetLong(interp, argv[3], &time) != TCL_OK) - return (TCL_ERROR); - if ((events = song->GetEvents((short)track, time)) == 0) -- Tcl_SetResult(interp, "EOT", TCL_STATIC); -+ SET_CONST_RESULT("EOT"); - else { - for (e = events; e != 0; e = e->GetNextEvent()) { - buf = new ostrstream; -@@ -477,7 +465,7 @@ - - int - Tclm_MidiPut(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -513,18 +501,17 @@ - } - - if ((event = Tclm_ParseEvent(interp, argv[3])) == 0) { -- if (strlen(interp->result) == 0) -- Tcl_SetResult(interp, "No more memory", TCL_STATIC); -+ if (strlen(Tcl_GetStringResult(interp)) == 0) -+ SET_CONST_RESULT("No more memory"); - return (TCL_ERROR); - } - if (event->IsWildcard()) { -- Tcl_SetResult(interp, "Can't put wildcard events in a song", -- TCL_STATIC); -+ SET_CONST_RESULT("Can't put wildcard events in a song"); - return (TCL_ERROR); - } - new_e1 = song->PutEvent(track, *event); - if (new_e1 == 0) { -- Tcl_SetResult(interp, "Couldn't put event", TCL_STATIC); -+ SET_CONST_RESULT("Couldn't put event"); - return (TCL_ERROR); - } - // check to see if it has a note off too -@@ -534,8 +521,7 @@ - if (np != 0) { - new_e2 = (NoteEvent *)song->PutEvent(track, *np); - if (new_e2 == 0) { -- Tcl_SetResult(interp, "Couldn't put event", -- TCL_STATIC); -+ SET_CONST_RESULT("Couldn't put event"); - return (TCL_ERROR); - } - ((NoteEvent *)new_e1)->SetNotePair(new_e2); -@@ -549,7 +535,7 @@ - - int - Tclm_MidiDelete(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -592,17 +578,16 @@ - if (Tcl_GetLong(interp, argv[5], (long *)&end) != TCL_OK) - return (TCL_ERROR); - if (!song->DeleteRange(track, start, end)) { -- Tcl_SetResult(interp, "couldn't delete range", -- TCL_STATIC); -+ SET_CONST_RESULT("couldn't delete range"); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - if ((event = Tclm_ParseEvent(interp, argv[3])) == 0) { -- if (strlen(interp->result) == 0) -- Tcl_SetResult(interp, "No more memory", TCL_STATIC); -+ if (strlen(Tcl_GetStringResult(interp)) == 0) -+ SET_CONST_RESULT("No more memory"); - return (TCL_ERROR); - } - // If this is a NoteOn/NoteOff pair, get real NoteOff from tree -@@ -616,7 +601,7 @@ - for (e = events; e != 0 && !(*event == *e); - e = e->GetNextEvent()); - if (e == 0) { -- Tcl_SetResult(interp, "0", TCL_STATIC); -+ SET_CONST_RESULT("0"); - delete ((NoteEvent *)event)->GetNotePair(); - delete event; - return (TCL_OK); -@@ -625,7 +610,7 @@ - // find real NoteOff pair and delete it - note_off = ((NoteEvent *)e)->GetNotePair(); - if (!song->DeleteEvent(track, *note_off)) { -- Tcl_SetResult(interp, "0", TCL_STATIC); -+ SET_CONST_RESULT("0"); - delete ((NoteEvent *)event)->GetNotePair(); - delete event; - return (TCL_OK); -@@ -633,7 +618,7 @@ - delete ((NoteEvent *)event)->GetNotePair(); - } - if (!song->DeleteEvent(track, *event)) { -- Tcl_SetResult(interp, "0", TCL_STATIC); -+ SET_CONST_RESULT("0"); - if (event->GetType() == NOTEON && - ((NoteEvent *)event)->GetNotePair() != 0) - delete ((NoteEvent *)event)->GetNotePair(); -@@ -641,13 +626,13 @@ - return (TCL_OK); - } - delete event; -- Tcl_SetResult(interp, "1", TCL_STATIC); -+ SET_CONST_RESULT("1"); - return (TCL_OK); - } - - int - Tclm_MidiMerge(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *dest_song, *src_song; -@@ -680,7 +665,7 @@ - - int - Tclm_MidiSplit(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *src_song, *meta_song, *normal_song; -@@ -715,7 +700,7 @@ - - int - Tclm_MidiCopy(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - EventTree *tmp_track; -@@ -748,6 +733,7 @@ - scalar = (double)dest_song->GetDivision() / src_song->GetDivision(); - - tmp_track = src_song->GetRange(src_track, sstart, send); -+fprintf(stderr, "Got tmp_track as %p\n", tmp_track); - if (tmp_track == 0) { - Tcl_AppendResult(interp, "Couldn't get range from: ", argv[3], - " to ", argv[4], 0); -@@ -757,20 +743,23 @@ - if (!src_song->DeleteRange(src_track, sstart, send)) { - Tcl_AppendResult(interp, "Couldn't remove events " - "from source track", 0); -+ delete tmp_track; - return (TCL_ERROR); - } - } - if (!dest_song->Add(dest_track, *tmp_track, dstart, scalar)) { - Tcl_AppendResult(interp, "Couldn't add range", 0); -+ delete tmp_track; - return (TCL_ERROR); - } -+fprintf(stderr, "Deleting tmp_track %p\n", tmp_track); - delete tmp_track; - return (TCL_OK); - } - - int - Tclm_MidiVersion(ClientData client_data, Tcl_Interp *interp, int argc, -- char *argv[]) -+ const char *argv[]) - { - ClientData *dummy; - -@@ -782,13 +771,13 @@ - argv[0], "\"", 0); - return (TCL_ERROR); - } -- Tcl_SetResult(interp, (char *)TCLMIDI_VERSION, TCL_STATIC); -+ SET_CONST_RESULT(TCLMIDI_VERSION); - return (TCL_OK); - } - - int - Tclm_MidiTrack(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -848,7 +837,7 @@ - - int - Tclm_MidiGrep(ClientData client_data, Tcl_Interp *interp, int argc, -- char **argv) -+ const char **argv) - { - TclmInterp *tclm_interp; - Song *song; -@@ -857,6 +846,7 @@ - NoteEvent *np; - ostrstream *buf; - char *str; -+ int result; - - if (argc < 4) { - Tcl_AppendResult(interp, "wrong # args: should be \"", -@@ -888,16 +878,15 @@ - num_events = argc - 3; - events = new Event *[num_events]; - if (events == 0) { -- Tcl_SetResult(interp, "No more memory", TCL_STATIC); -+ SET_CONST_RESULT("No more memory"); - return (TCL_ERROR); - } - for (i = 0; i < num_events; i++) { - // parse events - events[i] = Tclm_ParseEvent(interp, argv[i + 3]); - if (events[i] == 0) { -- if (strlen(interp->result) == 0) -- Tcl_SetResult(interp, "No more memory", -- TCL_STATIC); -+ if (strlen(Tcl_GetStringResult(interp)) == 0) -+ SET_CONST_RESULT("No more memory"); - i--; - for (; i >= 0; i--) { - if (events[i]->GetType() == NOTEON) { -@@ -913,9 +902,11 @@ - } - } - if (!song->Grep(track, events, num_events, &matched, &num_matched)) { -- Tcl_SetResult(interp, "midigrep failed", TCL_STATIC); -- return (TCL_ERROR); -- } -+ SET_CONST_RESULT("midigrep failed"); -+ result = TCL_ERROR; -+ } else -+ result = TCL_OK; -+ - for (i = 0; i < num_events; i++) { - if (events[i]->GetType() == NOTEON) { - np = ((NoteEvent *)events[i])->GetNotePair(); -@@ -924,33 +915,33 @@ - } - delete events[i]; - } -- delete events; -+ delete[] events; - for (i = 0; i < num_matched; i++) { - buf = new ostrstream; - Tclm_PrintEvent(*buf, matched[i]); - str = buf->str(); - if (str != 0 && str[0] != '\0') - Tcl_AppendElement(interp, str); -- delete str; -+ delete[] str; - delete buf; - } -- delete matched; -+ delete[] matched; -+ return (result); - return (TCL_OK); - } - -- - int - Tclm_GetTrack(TclmInterp *tclm_interp, Tcl_Interp *interp, const char *str, - Song **song, int *track) - { -- char **sub_argv; -+ const char **sub_argv; - int sub_argc; - -- if (Tcl_SplitList(interp, (char *)str, &sub_argc, &sub_argv) != TCL_OK) -+ if (Tcl_SplitList(interp, str, &sub_argc, &sub_argv) != TCL_OK) - return (TCL_ERROR); - if (sub_argc != 2) { -- Tcl_SetResult(interp, "bad track designation: " -- "should be \"{MidiID Track}\"", TCL_STATIC); -+ SET_CONST_RESULT("bad track designation: " -+ "should be \"{MidiID Track}\""); - Tcl_Ckfree((char *)sub_argv); - return (TCL_ERROR); - } |