mirror of
https://git.freebsd.org/ports.git
synced 2025-07-04 02:49:14 -04:00
* Use BSDmakefile (and bsd.lib.mk) instead of configure/Makefile.in; * plug some (but not all!) ancient memory leaks; * make use of bsd.tcl.mk (now requires Tcl-8.4 or higher); * fix warnings and 64-bit issues; * bump PORTREVISION. To do: * plug the remaining memory leak (valgrind is priceless!); * fix up the author's tests to uniformly report failure or success and arrange for them to run post-build. Feature safe: yes
2139 lines
61 KiB
Text
2139 lines
61 KiB
Text
--- 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/EvntTree.cxx 1996-08-04 23:47:38.000000000 -0400
|
|
+++ song/EvntTree.cxx 2012-04-11 01:45:51.000000000 -0400
|
|
@@ -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;
|
|
--- 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 *
|
|
--- tclmCmd.cxx 1996-08-04 23:47:12.000000000 -0400
|
|
+++ tclmCmd.cxx 2012-04-11 01:14:10.000000000 -0400
|
|
@@ -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;
|
|
@@ -514,17 +502,16 @@
|
|
|
|
if ((event = Tclm_ParseEvent(interp, argv[3])) == 0) {
|
|
if (strlen(interp->result) == 0)
|
|
- Tcl_SetResult(interp, "No more memory", TCL_STATIC);
|
|
+ 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);
|
|
+ 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,7 +878,7 @@
|
|
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++) {
|
|
@@ -896,8 +886,7 @@
|
|
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);
|
|
+ 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);
|
|
}
|
|
--- 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
|
|
--- tclmPlay.cxx 1996-08-04 23:47:12.000000000 -0400
|
|
+++ tclmPlay.cxx 2012-04-07 14:08:43.000000000 -0400
|
|
@@ -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;
|
|
@@ -585,8 +579,7 @@
|
|
}
|
|
} else {
|
|
if (strlen(interp->result) == 0) {
|
|
- Tcl_SetResult(interp, "Out of memory",
|
|
- TCL_STATIC);
|
|
+ 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;
|
|
--- 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;
|
|
|