#exult@irc.freenode.net logs for 8 Aug 2001 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[01:34:11] <-- chimera|wookin has left IRC (Ping timeout for chimera|wookin[holladay.cb-travel.com])
[02:01:24] --> matt0 has joined #exult
[02:43:35] <-- hebble has left IRC (Read error to hebble[c1577942-b.chmpgn1.il.home.com]: EOF from client)
[03:03:05] --> hebble has joined #exult
[03:37:44] --> matt0_ has joined #exult
[03:39:10] <-- matt0 has left IRC (Ping timeout for matt0[1667079149-yippy.dsl.xmission.com])
[03:42:35] --- matt0_ is now known as matt0
[05:45:06] <-- hebble has left IRC (Xchat probably crashed.)
[07:38:51] --> Nadir has joined #exult
[07:39:04] <Nadir> hi
[07:39:56] --> hebble has joined #exult
[07:41:27] <Nadir> hi
[07:41:35] <hebble> hello
[07:42:24] <Kirben> Hi Nadir
[07:46:46] <Nadir> I believe someone confused snapshot with screenshot on the forums
[08:14:15] <Nadir> bbl
[08:14:18] <-- Nadir has left IRC (Pleasant dreams, Avatar... hehehehehe)
[08:42:28] <-- hebble has left IRC (Xchat probably crashed.)
[11:43:57] --> exultbot has joined #exult
[11:43:57] --- Topic for #exult is: Exult, the open source Ultima 7 and U7 part 2 engine
[11:43:57] --- Topic for #exult set by ChanServ at Tue Aug 7 06:10:46 2001
[11:57:04] --> wjp has joined #exult
[11:57:09] <wjp> hi
[11:59:46] <Kirben> Hi wjp
[12:22:34] --> Nadir has joined #exult
[12:30:14] <Nadir> hi all
[12:55:14] --> TonyHoyt has joined #Exult
[12:55:21] <TonyHoyt> Hello people. What's new?
[12:58:18] <Nadir> it was raining a while ago
[12:58:57] <TonyHoyt> Ahhh.
[12:59:26] <Nadir> news was posted yesterday on the exult homepage
[13:00:52] <TonyHoyt> Ah..
[13:01:27] <TonyHoyt> I got a patch I need to put on the sourceforge site for solaris compatability.
[13:04:20] <Nadir> what for ?
[13:05:40] <Nadir> colourless will appear any minute now
[13:08:06] <Nadir> maybe not
[13:09:30] --> Colourless has joined #Exult
[13:09:37] <Colourless> hi
[13:10:06] <Nadir> then again...
[13:10:12] <Nadir> :)
[13:10:54] <TonyHoyt> Hi Colourless.
[13:11:25] <TonyHoyt> Problem with copy8. Solaris doesn't like it when you do any memory copying outside of a 4 byte boundry. Sparc Solaris that is.
[13:11:51] <Colourless> wasn't that problem fixed?
[13:12:18] <TonyHoyt> I fixed it on my own copy but it wasn't commited into the cvs tree.
[13:12:42] <Nadir> colourless: I fixed the crash with the "complex" scalers under Linux by setting up XFree86 at 32bpp (was 16bpp).
[13:15:55] <Nadir> Though it might be better to "fix it properly" by understanding what's making it crash. It doesn't under W2K in 16bpp...
[13:16:32] <Colourless> no, it doesn't crash here either
[13:16:32] <TonyHoyt> Got a 16bit graphical bug of some sort?
[13:16:48] <Colourless> does it crash for anyone else?
[13:16:50] * TonyHoyt is stuck in a 8bit world on his solaris machine :-/
[13:17:08] <TonyHoyt> I would test it if I could do 16bpp. :-/
[13:23:39] <Nadir> It's a crash within Hermes_X86_CPU (SDL)
[13:25:25] <TonyHoyt> An x86 only bug?
[13:26:28] --> Dominus has joined #exult
[13:26:37] <Dominus> hi
[13:27:06] <TonyHoyt> Hi Dominus.
[13:27:18] <Dominus> anyone in the mood to try out my lates crash bug? (the newest in the bug tracker with savegame)
[13:27:18] <Nadir> tonyhoyt: could be...
[13:27:37] <Colourless> hi
[13:29:08] <Dominus> and did anyone else have problems with the mailing list yesterday?
[13:29:25] <Dominus> To me it seemed it set itself to digest mode for me
[13:30:06] <Nadir> that didn't happen to me...
[13:31:06] <Dominus> it was very strange. Now that I have set the mode to digest and immediately off again the mails I get come through normally :-(
[13:40:47] <wjp> brb
[13:40:48] <-- wjp has left IRC ([x]chat)
[14:02:25] <TonyHoyt> btw, I'm looking at discovering how to use SDL. Since you guys use it, I assume it's not complete trash. How is it as a graphical api? Does it also handle input and sound at all? (I'm assumeing no on the sound bit)
[14:03:11] <Colourless> it does both
[14:03:33] <TonyHoyt> Do you recommend it as a good api in general?
[14:03:38] <-- Kirben has left IRC (System Meltdown)
[14:04:24] <-- Dominus has left IRC (Read error to Dominus[212186137085.15.univie.teleweb.at]: EOF from client)
[14:05:05] <Colourless> it's reasonably good. The graphics API supports OpenGL (provided host OS supports it). The API also has Sound, Input, Timing, Treading, Joystick and CDROM (audio) functions
[14:07:37] <TonyHoyt> Nice.
[14:08:31] <TonyHoyt> Well with that, I'm a little more confortable looking into it then. Hopefully I won't alienate it like I did DirectX.
[14:08:56] <Colourless> It's a lot simpler than DirectX :)
[14:09:46] <TonyHoyt> Hmm DirectX didn't seem that hard, I just got scared away by all the big docs and big installs. Plus I'm inherently lazy.
[14:18:57] <TonyHoyt> got to jet..later guys
[14:18:58] <-- TonyHoyt has left #Exult
[14:26:06] <-- Nadir has left IRC (Ping timeout for Nadir[])
[14:43:13] --> Nadir has joined #exult
[15:29:11] <-- Nadir has left IRC (Read error to Nadir[]: Connection reset by peer)
[16:39:29] --> fingolfin has joined #exult
[16:39:38] <fingolfin> hi
[16:39:44] <Colourless> hi
[16:40:38] * Colourless had a dungeon renderer that worked pretty much like the original did, then he decided to optimize it... doesn't work any more
[16:40:52] <fingolfin> :) and :/
[16:41:10] <Colourless> :)
[16:41:17] <Colourless> i think I know why
[16:41:24] <fingolfin> at least you were clever enough to first make it so that it works, and *then* optimize it... nothing worse than optimizing to early ;)
[16:41:27] <fingolfin> he
[16:41:35] <fingolfin> good on you
[16:41:50] <fingolfin> I look forward to seeing it ;)
[16:43:50] <fingolfin> I really am torn apart... Id love to habe Midi on MacOS... but I shudder from thinking of the API, and the fact that it is so bad documented... then again I think it could be documented worse, and that it would be cool to have Midi working, and that I could do it for OS 9 and OS X in one go...
[16:43:57] <fingolfin> hmm
[16:44:28] <fingolfin> I guess I could write a simple midi driver version that simply dumps all the data to stdout, nicely formated (all midi events fed to it by exult I mean)
[16:44:47] <fingolfin> this way, I could look at it, understand how it all works (I am not so well informed about MIDI, besides the basics)
[16:44:56] <fingolfin> and then decide how to go about it
[16:45:01] <Colourless> Midi is really quite simple
[16:45:10] <fingolfin> note on/off sure are
[16:45:31] <fingolfin> but the problem is that I really need to understand it, so that I can translate it for the TunePlayer API
[16:45:34] <Colourless> all the events are not much different.
[16:46:07] <fingolfin> what I am thinking about is taking our Event stream, converting it to the TunePlayer format (which is also MIDI based but seems to be different), and then I can let TP play it async
[16:46:38] <Colourless> what's the format like?
[16:47:07] <fingolfin> Colourless: what is PRESSURE, PITCH_WHEEL and SYSEX? Sysex is used for special stuff, IIRC, sort of non-portable... hrm
[16:47:18] <fingolfin> long time ago I last tdealt with anything midi related
[16:47:24] <fingolfin> Colourless: Ill point you to an URL, sec
[16:47:35] <Colourless> sysex can generally be ignored. I do in the windows driver
[16:47:37] <fingolfin> Colourless: btw, seems I need to tell it the channels/instruments in advance..
[16:47:48] <fingolfin> if I get any noise, that is a start ;)
[16:48:45] <Colourless> well, I could make get XMIDI to output the instruments that are used
[16:48:52] <Colourless> it's simple to do
[16:48:57] <fingolfin> http://developer.apple.com/techpubs/quicktime/qtdevdocs/RM/frameset.htm
[16:49:14] <fingolfin> Colourless: well, you know exults midi system, I dont ...
[16:49:23] <fingolfin> Colourless: look for QuickTime Music in the nav bar
[16:49:39] <Colourless> found it
[16:49:42] <fingolfin> basically
[16:50:10] <fingolfin> I have two choices: a) convert to tuneplayer format, let it do the rest,or b) use note allocator, handle the events one by one, from a seperate thread
[16:50:35] <fingolfin> the drawback of seperate thread is that it will be possible only for OS X, for macos 9 Id need a different solution...
[16:50:52] <Colourless> Seperate thread is generally the best solution
[16:51:13] <fingolfin> not really, if you only have cooperative threads
[16:51:41] <fingolfin> TunePlayer is actually made to play midi/music async, w/o me worrying about it, so it would be ncie to use it
[16:51:58] <fingolfin> would also be portable to MacOS 9, MacOS X, and even QuickTime4Windows :=)
[16:53:00] <Colourless> my reasoning is you can write custom midi drivers when using a seperate thread and do special thinks such as XMIDI song looping (not used by U7 or SI AFAIK)
[16:53:35] <fingolfin> sure, but if you aint got threads, this aint help...
[16:53:42] <fingolfin> of course I can use pthreads on OS X
[16:53:47] <Colourless> yeah
[16:54:07] <fingolfin> but Id prefer if I could do it for both MacOS versiosn at once, obviously ;)
[16:54:50] <fingolfin> when start_track(eventlist) is called, then the eventlist is one full song?
[16:55:06] <Colourless> yeah it is
[16:55:24] <Colourless> it's a linked list of events in the order they need to be played in
[16:55:38] <fingolfin> so i could iterate the eventlist, turn it into the TP format (should be straightforward), determine the instrument list while doing so, and then pass it to TP?
[16:55:56] <Colourless> yeah you could do that
[16:56:21] <fingolfin> Id only need to know how to map aftertouch/pressure/pitch_wheel Id assume... no idea what those do
[17:01:09] <fingolfin> can anybody connectt to www.mactech.com ?
[17:01:41] <Colourless> this documentation is pretty poor
[17:01:58] <fingolfin> it is!
[17:02:06] <fingolfin> that is why I am searching for example code ATM
[17:03:35] <Colourless> can't connect
[17:04:03] <fingolfin> ok :/ hm, maybe I have this stuff on a CD somewhere..
[17:05:50] * fingolfin suddenly remembers he recently got a MacTech reference CD, probably containing what he is looking for
[17:10:25] <fingolfin> ahhh! wonderful! mactech has two helpful articles it seems... pity the web page is down ;/
[17:12:09] * fingolfin luckily has offline version, albeit in a weird mac only format
[17:15:10] * Colourless wonders why Apple doesn't use standard Midi events
[17:15:26] * fingolfin wonders about that, too
[17:16:04] <fingolfin> QT 2.0 introduced QTMA, that was in 1994 or so, but then, MIDI is much older, even GM ;)
[17:18:29] <Colourless> the standard midi file format is the same format that is used by midi hardware devices.
[17:18:59] <fingolfin> aye
[17:39:38] * Colourless scratches his head... this like make no sense
[17:41:19] <fingolfin> well
[17:41:27] <fingolfin> what doesnt make sense? ;)
[17:41:38] <Colourless> the bug in the dungeon rendering
[17:42:31] <fingolfin> do you still have your unoptimized version? and that works fine?
[17:42:42] <fingolfin> Colourless: you did some very radical optimization or what?
[17:42:57] <Colourless> i've found the problem
[17:43:19] <Colourless> this doesn't work:
[17:43:21] <Colourless> void Game_window::paint_blackness(int cx, int cy, int stop_chunkx, int stop_chunky)
[17:43:21] <Colourless> {
[17:43:21] <Colourless> for (; cy != stop_chunky; cy = INCR_CHUNK(cy))
[17:43:28] <Colourless> but this does:
[17:43:28] <Colourless> void Game_window::paint_blackness(int start_cx, int start_cy, int stop_chunkx, int stop_chunky)
[17:43:28] <Colourless> {
[17:43:28] <Colourless> for (int cy = start_cy; cy != stop_chunky; cy = INCR_CHUNK(cy))
[17:45:17] <fingolfin> he ;)
[17:45:50] <fingolfin> compiler bug? hmm
[17:46:24] <Colourless> looks like it
[17:47:26] <Colourless> i should monitor what's happening, could actually be an overflow
[17:47:33] <fingolfin> then make a big comment there, otherwise someone might change it
[17:47:52] <fingolfin> but why does copying the value to another variable make a difference then?
[17:48:24] <Colourless> ah, figured it out :)
[17:48:25] <Colourless> silly me
[17:49:01] <Colourless> there is also this as well
[17:49:01] <Colourless> for (int cx = start_chunkx; cx != stop_chunkx; cx = INCR_CHUNK(cx))
[17:49:01] <Colourless> {
[17:49:11] <Colourless> that's where the problem was
[17:49:52] <Colourless> after the first line, cx was always going to equal stop_chunkx
[17:50:00] <Colourless> that's why I was getting problems
[17:50:27] <fingolfin> ah sure!
[17:50:29] <fingolfin> hehe
[17:59:05] <fingolfin> hm, I need to tell QTMA the maximal polyphony for an instrument... hmm
[17:59:56] <fingolfin> so in theory, walk through the midi events, inc polyphony counter for each instrument upon note one, decrement on note off, remember maximal values atteined... yucky
[18:00:43] <Colourless> yeah
[18:01:54] <fingolfin> to specify the instrument, I need to give a long, telling the GM number of the instrument
[18:03:08] <fingolfin> ok, 1-128 are the regular GM sounds, so I can just take the number from our midi_events
[18:03:20] <Colourless> 0 to 127 actually
[18:03:49] <fingolfin> they have it 1-128 it seems ;) so maybe I need to add 1; trial & error will tell
[18:04:50] --> ExultLover has joined #exult
[18:05:17] <Colourless> sigh, they could have just followed the standard, and made life easy for programmers
[18:06:25] <fingolfin> aye... I asked this question on #macdev, the thread immediatly turned to arwyns favorite topic, though: from not following standards to c++ standard to c++-dicussions ("sure it has good points, but this is bad: <long list>"
[18:08:23] <Colourless> hehe
[18:19:11] <fingolfin> brb, reboot
[18:19:13] <-- fingolfin has left IRC (Client Exiting)
[18:28:02] --> Fingolfin has joined #exult
[18:30:03] <ExultLover> I have a little suggestion for a new feature. Wanna hear it?
[18:30:41] <Colourless> that depends on if it's hard to do ;-)
[18:30:51] <Fingolfin> hear it, sure
[18:30:55] <Fingolfin> do it, that is another thing ;)
[18:31:25] <Fingolfin> Colourless: how did you skip only part of a scene in the original? pressing return or so??
[18:31:40] <Colourless> just return
[18:32:30] <Fingolfin> no other method? only return?
[18:32:37] <Fingolfin> WTF is "ppqn" in the midi player?
[18:33:21] <Colourless> as far as I know only return
[18:33:38] <Colourless> PPQN is Pulses Per Quarter Note, otherwise known as the Time Division
[18:34:49] <ExultLover> Here's my suggestion: "skip first scene" doesn't work like it should - the Trinsic mayor doesn't apporaoch you, so you're the one who has to start the conversation. Possible solution: include a special savegame (not directly accessible to the player) in exult.flx. This savegame will contain the state of the game world right after the first scene has ended.
[18:35:30] <Colourless> Fingolfin: The rate to play the song is determined by the Time Division and the tempo. From memory, the tempo defines how long each quarter note lasts in microseconds.
[18:36:31] <Fingolfin> tempo is OK (also the time base that is used here seems to be 1/600 of a second); hm
[18:36:40] <Fingolfin> guess I should take a look at the win driver ;)
[18:37:15] <Colourless> hope you can understand it. it's pretty messy
[18:37:33] <Fingolfin> I'll have you as reference if in doubt ;)
[18:37:39] <Colourless> you'll want to look at: void Windows_MidiOut::thread_play ()
[18:38:01] <Fingolfin> tick = tempo / ppqn; now I only need to disover how oyu use tick
[18:38:02] * Fingolfin looks on
[18:38:11] <Fingolfin> ryan: I know ;)
[18:38:28] <Fingolfin> ExultLover: I think it is not necessary to use a full savegame ;)
[18:38:50] <Colourless> fingolgin: tick is the length each midi clock tick is in microseconds
[18:39:12] <Colourless> the notes times are all in ticks
[18:39:47] <Fingolfin> ahh
[18:40:32] <Fingolfin> and tempo is preset to 0x07A120, but can be changed by tempo change events; how did you get that constant, though?
[18:40:58] <Colourless> that's the standard default tempo
[18:41:00] * Fingolfin notes that a lot of code is duplicate for SFX and normal midi tracks...
[18:41:00] <Fingolfin> ;)
[18:41:08] <Colourless> i think it equates to approx 120 BPM
[18:41:15] <Fingolfin> 500000
[18:41:19] <Fingolfin> in dec ;)
[18:41:42] <Colourless> is does equal 120 BPM :)
[18:42:08] <Colourless> s/is/it/
[18:42:54] <Fingolfin> 1e6 / (120/60) = 500000 ?
[18:43:22] <Colourless> yeah
[18:46:37] <Fingolfin> to enable return to skip scenes, I'll have to change wait_delay
[18:47:51] <-- ExultLover has left IRC ()
[19:50:49] <Fingolfin> colourless: can you point me to a place where the sysex etc. codes are referenced?
[19:51:12] <Fingolfin> and other stuff like how exactl prog_change is specified
[19:51:44] <Colourless> you can ignore sysex
[19:52:23] <Fingolfin> well, ok if you say it ;)
[19:52:36] * Fingolfin already got a ref for the controller stuff, which shouldn't be hard to get working anywa
[19:52:38] <Fingolfin> y
[19:52:52] <Colourless> my windows driver ignores it
[19:53:03] <Fingolfin> for now I assume that channels are not reused for different instruments, I hope that's safe for U7 to assume?
[19:53:35] <Colourless> that's not safe to assume. some songs do change instruments
[19:54:08] <Fingolfin> hm, bad, why don't they use those nice 16 channels they have?
[19:54:23] <Fingolfin> anyway, for now I *will* assume it; once I can get anything to play, I can worry about that ;)
[19:54:34] <Colourless> compatibility with hardware
[19:54:43] <Colourless> and also to allow for SFX playing
[19:54:52] <Colourless> they only use tracks 10-16
[19:55:20] <Fingolfin> 10 is reserved by GM for the drum kit IIRC?
[19:55:26] <Colourless> yep
[19:55:38] <Colourless> anyway, the program change has 1 data byte which specifes the instrument to play (0-127)
[19:56:04] <Fingolfin> ah ok, that is super easy then
[19:56:13] <Fingolfin> it won't be hard to cope with program changes, either
[19:56:37] <Fingolfin> of course, channels could change back & forth between instruments
[19:56:40] <Fingolfin> oh my
[19:56:46] <Colourless> yes?
[19:57:31] <Fingolfin> "oh my" here in the sense of "oh my, this little bit more won't hurt"
[19:57:51] <Colourless> ah :)
[20:14:52] --> chimera|wookin has joined #exult
[20:15:58] <Colourless> hello "Mr Wookin" ;-)
[20:18:38] <chimera|wookin> hehe
[20:18:39] <chimera|wookin> hi!!
[20:19:04] <-- Colourless has left IRC (Got Coloured)
[20:19:11] --> Colourless has joined #Exult
[20:19:17] <Colourless> opps :)
[20:20:21] <Fingolfin> hi matt
[20:21:11] <chimera|wookin> hey fin
[20:22:10] * Fingolfin decides to test ryan's new dungeon renderer
[20:22:22] <Colourless> :)
[20:36:42] <-- chimera|wookin has left IRC (Ping timeout for chimera|wookin[holladay.cb-travel.com])
[20:41:15] --> chimera|wookin has joined #exult
[20:58:55] <-- Colourless has left IRC (Got Coloured)
[20:59:04] --> Colourless has joined #Exult
[20:59:21] <Colourless> sigh, did it again
[21:06:42] <Fingolfin> hiya brittney
[21:07:11] <Colourless> no, i'm not birttney, that's Amy ;-)
[21:07:52] <Fingolfin> lol
[21:08:27] <Fingolfin> hmm... what does the second data byte mean for PROG_CHANGE ? the first is the instrument, but the second? It's 0 in the intro song, except in one case
[21:08:38] <Fingolfin> there it is 0x78
[21:09:09] <Colourless> doesn't do anything. Might just be uninitialized
[21:09:49] <Fingolfin> ok
[21:09:58] <Fingolfin> ok, back to this code
[21:10:34] <-- chimera|wookin has left IRC (Ping timeout for chimera|wookin[holladay.cb-travel.com])
[21:11:00] --> chimera|wookin has joined #exult
[21:22:48] <chimera|wookin> curses!
[21:23:07] <Fingolfin> Colourless: PROG_CHANGE ain't that easy...
[21:23:23] <Fingolfin> Time: 0 Status 0xC Channel: 0x5 Data 0x307E Length 0
[21:23:27] <Fingolfin> Time: 0 Status 0xC Channel: 0x0 Data 0x30EC Length 0
[21:23:38] <Fingolfin> (I left out other ones inbetween)
[21:23:44] <Fingolfin> Time: 0 Status 0xC Channel: 0x1 Data 0x4796 Length 0
[21:23:49] <Fingolfin> Time: 0 Status 0xC Channel: 0x2 Data 0x488E Length 0
[21:23:50] <Fingolfin> etc.
[21:23:54] <Fingolfin> 0xC is progchange, fine
[21:24:17] <Fingolfin> but it seems that I get the same instrument on channel 0 and 5, can't be. ok, maybe the second byte is the instrument?
[21:24:23] <Fingolfin> but then, what the heck is the first byte?!?
[21:25:19] * Fingolfin discovers that there is midi.org ;)
[21:25:24] <Colourless> uninitialized variable
[21:25:40] <Colourless> i assume you are getting the output from XMIDI?
[21:26:04] <Fingolfin> yeah, my midi driver outputs the event list
[21:26:13] <Colourless> ok then. go into void XMIDI::CreateNewEvent (int time)
[21:26:17] <Fingolfin> decoded (except for buffer, which is not yet interresting to me)
[21:26:40] <Fingolfin> aye
[21:26:42] <Colourless> add in current->data[0] = current->data[1] = 0; where required
[21:26:52] <Fingolfin> ok ;)
[21:27:38] <Fingolfin> why not use calloc instead of malloc? makes the code shorter in general ;)
[21:29:04] <Colourless> I could do, but it would mean changing lots of code :)
[21:29:13] <Fingolfin> pfff
[21:29:17] <Colourless> :)
[21:29:20] * Fingolfin just did it in 20 secs ;)
[21:29:24] <Colourless> if you want to do it.... do it :
[21:29:25] <Colourless> )
[21:33:04] <Fingolfin> better
[21:33:29] <Fingolfin> so they use two channels with the same instrument? hmmm
[21:33:52] <Colourless> the pan might be different
[21:34:22] <Colourless> there are a number of reasons why they would do such a thing
[21:34:38] <Colourless> which song BTW?
[21:35:08] <chimera|wookin> Dead Bodies ... the best song in Ultima
[21:35:30] <Fingolfin> the exultmenu song, the first song it attempts to play ;)
[21:35:41] <Fingolfin> Time: 0 Status 0xB Channel: 0x5 Data 0x 0 Length 0
[21:35:41] <Fingolfin> Time: 0 Status 0xB Channel: 0x5 Data 0x 740 Length 0
[21:35:41] <Fingolfin> Time: 0 Status 0xB Channel: 0x5 Data 0x A40 Length 0
[21:35:41] <Fingolfin> Time: 0 Status 0xC Channel: 0x5 Data 0x3000 Length 0
[21:35:45] <Fingolfin> the same for 0xf, too
[21:35:56] <Colourless> odd
[21:35:56] <Fingolfin> err, I mean channel 0, not 15
[21:36:03] * Colourless loads the song in a midi sequencer
[21:36:16] <Fingolfin> there are other commands later, though, I'll check those
[21:36:45] <Fingolfin> what MIDI_STATUS_CONTROLLER when data is all 0 I wonder.. hm
[21:37:37] <Fingolfin> this song is a bit odd to me, anyway
[21:37:45] <Colourless> Thats a Bank Change
[21:37:55] <Colourless> 0 = General Midi
[21:38:00] <Fingolfin> ahhh
[21:38:12] <Fingolfin> no wait
[21:38:27] <Fingolfin> but if both data bytes are 0, then what is it supposed to do?
[21:38:35] <Fingolfin> Time: 0 Status 0xB Channel: 0x0 Data 0x 0 Length 0
[21:39:01] <Fingolfin> I don't see something like Time: 0 Status 0xB Channel: 0x0 Data 0x 70 Length 0
[21:39:01] <Colourless> The first byte is the controller to change. Controller 0 = Bank Change
[21:39:09] <Fingolfin> ok
[21:39:14] <Fingolfin> that's what I wanted to know
[21:39:15] <Colourless> The second byte is the bank to change to
[21:39:28] <Fingolfin> aye, and it is always zero in this song it seems
[21:40:42] <Fingolfin> could it be they use the instruments twice becazse some synths restrict the max polyphony on a channel?
[21:41:19] <Fingolfin> because it seems this instrument is played in up to 7 paralle notes, maybe some synths can only do 4 at once or so...
[21:41:23] <Colourless> could be, but from looking at thte file it looks like it was just to separate the parts
[21:41:31] <Fingolfin> ok
[21:41:47] <Colourless> here's a page with midispecs http://www.borg.com/~jglatt/tech/midispec.htm
[21:41:54] <Colourless> it's got a good list of the controllers
[21:42:38] <Fingolfin> hehe, luckily QT follows the midi standard, and I can just copy those
[21:47:52] <-- Colourless has left IRC (this time I actually do mean to leave)
[22:04:05] <-- Fingolfin has left IRC (42)
[22:46:05] --> Fingolfin has joined #exult
[22:50:05] <-- Fingolfin has left IRC (Ping timeout for Fingolfin[pD9E1CAC3.dip.t-dialin.net])
[23:19:05] --> Fingolfin has joined #Exult
[23:56:38] <-- matt0_ has left IRC (Laserdisc Arcade Emulation Project: http://daphne.rulecity.com , get your CVS password today! =])