#exult@irc.freenode.net logs for 5 Nov 2009 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:10:40] --> pupnik_ has joined #exult
[00:25:21] <-- pupnik has left IRC (Read error: 110 (Connection timed out))
[01:40:45] --- Marzo_away is now known as Marzo
[01:44:51] <Marzo> Just for the record: I had already surmised that the crash was related to allocation/deallocation errors, but I hadn't (and haven't, yet) the time to properly analyse what is causing it
[01:45:27] <Marzo> I have a couple ideas which I will be testing; but first, I am thinking of analyzing the new version of Munt/MT32Emu
[01:45:37] <Marzo> (as it came out of inactivity some time ago)
[01:45:52] <Marzo> (or, maybe, I'll analyze both in tandem)
[01:47:35] <Marzo> Dominus: if you don't want to edit autogen.sh, you may consider making symbolic links of glibtool and glibtoolize
[01:48:57] <Marzo> OSX has a very high probably of having that functionality; you would just do 'ln -s glibtool libtool' and similar for libtoolize
[01:49:25] <Marzo> (preferrably in the same directory as glibtool/glibtoolize is at)
[01:59:30] --- Marzo is now known as Marzo_away
[02:28:56] <pupnik_> nice work
[02:29:11] --- Marzo_away is now known as Marzo
[02:39:37] --- Marzo is now known as Marzo_away
[02:59:20] --- Marzo_away is now known as Marzo
[03:09:27] --- Marzo is now known as Marzo_away
[03:27:48] <-- Marzo_away has left IRC (kornbluth.freenode.net irc.freenode.net)
[03:27:48] <-- Lord_Nightmare has left IRC (kornbluth.freenode.net irc.freenode.net)
[03:27:59] <-- Rottingbeef has left IRC (kornbluth.freenode.net irc.freenode.net)
[03:28:52] --> Rottingbeef has joined #exult
[03:29:03] --> Marzo_away has joined #exult
[03:29:03] --> Lord_Nightmare has joined #exult
[04:59:15] <-- Marzo_away has left IRC (Read error: 104 (Connection reset by peer))
[07:09:10] <-- Dominus has left IRC ("Leaving.")
[09:31:47] --> Dominus has joined #exult
[09:31:48] --- ChanServ gives channel operator status to Dominus
[11:15:58] --> RadoS has joined #eXult
[12:35:57] <-- Kirben has left IRC (Read error: 110 (Connection timed out))
[13:25:00] --> Marzo has joined #exult
[13:37:52] --- Marzo is now known as Marzo_away
[14:10:13] --- Marzo_away is now known as Marzo
[14:25:40] --- Marzo is now known as Marzo_away
[16:42:24] --- Marzo_away is now known as Marzo
[16:42:32] <Marzo> Dominus: you here?
[16:52:43] --- Marzo is now known as Marzo_away
[18:11:55] --- Marzo_away is now known as Marzo
[18:27:17] --- Marzo is now known as Marzo_away
[18:50:34] <-- Marzo_away has left IRC ("Marzo vanishes suddenly.")
[19:22:44] --> Marzo has joined #exult
[19:24:14] <Marzo> Dominus: For the record, I think I have fixed the crash; but since audio in general is acting up in my computer since the upgrade to Ubuntu Karmic, I can't really test
[19:34:41] <Dominus> hi marzo
[19:34:58] <Dominus> I just put my daughter to bed, I can test now :)
[19:36:23] --- Marzo is now known as Marzo_away
[19:43:18] --- Marzo_away is now known as Marzo
[19:44:06] <Marzo> You will need to modify two source files: audio/midi_drivers/XMidFile.h and audio/midi_drivers/LowLevelMidiDriver.cpp
[19:44:29] <Marzo> in XMidFile.h, insert the following code at about line 75:
[19:45:19] <Marzo> XmidiEventList *StealEventList() { XmidiEventList *tmp = GetEventList(0); events = NULL; return tmp; }
[19:46:10] <Marzo> In LowLevelMidiDriver.cpp, replace 'GetEventList(0)' in line 1250 by 'StealEventList()'
[19:46:14] <Marzo> Compile then test
[19:48:25] <Marzo> (the cause of the bug: the LLMD_MSG_PLAY message sent in line 1269 puts the event list from the xmidi variable in the queue, which will eventually delete it; and yet, line 1298 deletes xmidi, thus killing the event list again, causing the crash)
[19:54:08] <Dominus> compiling now
[19:57:16] <-- Marzo has left IRC (Read error: 104 (Connection reset by peer))
[20:01:01] --> Marzo has joined #exult
[20:03:01] <Dominus> damn, he's gone
[20:03:26] <Marzo> I am?
[20:04:17] <Dominus> oh, I just looked at what my client said, and it listed you as gone, but I didn't look at the list to the right :)
[20:04:49] <Marzo> Got momentarily disconnected, that is all
[20:04:49] <Dominus> XMidiFile.h:75: error: ISO C++ forbids declaration of ‘XmidiEventList’ with no type
[20:04:49] <Dominus> XMidiFile.h:75: error: expected ‘;’ before ‘*’ token
[20:04:49] <Dominus> XMidiFile.h:79: error: expected `;' before ‘private’
[20:04:49] <Dominus> LowLevelMidiDriver.cpp: In member function ‘virtual void LowLevelMidiDriver::loadTimbreLibrary(DataSource*, MidiDriver::TimbreLibraryType)’:
[20:04:49] <Dominus> LowLevelMidiDriver.cpp:1250: error: ‘class XMidiFile’ has no member named ‘StealEventList’
[20:05:33] <Dominus> that s how xmidifile.h looks like there
[20:05:35] <Marzo> Did you add the code I pasted to XMidiFile.h?
[20:05:35] <Dominus> XMidiEventList *GetEventList (uint32 track);
[20:05:35] <Dominus> XmidiEventList *StealEventList() { XmidiEventList *tmp = GetEventList(0); events = NULL; return tmp; }
[20:05:48] <Dominus> line 74 and 75
[20:06:07] <Marzo> Change XmidiEventList to XMidiEventList
[20:06:13] <Marzo> (note the case)
[20:07:17] <Marzo> (looking back, I realize that this was my mistake, sorry)
[20:07:41] <Dominus> In file included from LowLevelMidiDriver.cpp:28:
[20:07:42] <Dominus> XMidiFile.h: In member function ‘XMidiEventList* XMidiFile::StealEventList()’:
[20:07:42] <Dominus> XMidiFile.h:75: error: ‘XmidiEventList’ was not declared in this scope
[20:07:42] <Dominus> XMidiFile.h:75: error: ‘tmp’ was not declared in this scope
[20:07:55] <Dominus> *sigh*
[20:08:00] <Dominus> I need to change this in lowlevel, too
[20:08:00] <Marzo> Same thing :-)
[20:08:18] <Dominus> sorry for being daft :)
[20:08:56] <Marzo> I don't think lowlevel needs to be changed
[20:09:32] <Dominus> it doesn't, it compiled now past this point
[20:09:48] <Dominus> I was not closely looking...
[20:13:45] <Marzo> Well, I have to go now, but I'll be back later
[20:13:54] <Marzo> Post the results on the logs and I will check them
[20:18:24] <Dominus> all works fine
[20:18:30] <Dominus> just finished testing
[20:18:34] <Dominus> all midid
[20:18:47] <Dominus> drivers handle the mt32 conversion now without crashing
[20:18:53] <Dominus> thanks!!!
[20:19:00] <Dominus> a lot for debugging this
[20:23:57] --- Marzo is now known as Marzo_away
[21:00:05] <Dominus> funny side note: when I began "playing" with my MT32 on the Mac with Dosbox I was stumped
[21:01:04] <Dominus> I saw that the MT32 was receiving data and playing stuff, but I wouldn'T hear a thing even though the line out of the Mt32 was connected to the iMac's line in...
[21:01:43] <Dominus> and no way to turn that on in the controls of the imac
[21:02:54] <Dominus> only a search revealed to me that OS X doesn't pass the line in through to its speakers/line out. You need an extra program that does the passing through
[21:03:51] <Dominus> I don't know if Apple's way of doing things makes sense but I was accustomed to how it is generally done on the PC side :)
[21:11:31] * Dominus sleeps now...
[22:41:38] --> Kirben has joined #exult
[22:41:38] --- ChanServ gives channel operator status to Kirben