#exult@irc.freenode.net logs for 6 Dec 2017 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[01:41:34] <-- Lightkey has left IRC (Ping timeout: 240 seconds)
[01:57:06] --> Lightkey has joined #exult
[02:15:19] --> DominusExult has joined #exult
[02:15:19] --- ChanServ gives channel operator status to DominusExult
[02:19:39] <-- Dominus has left IRC (Ping timeout: 260 seconds)
[02:19:39] --- DominusExult is now known as Dominus
[02:41:43] <-- Rottingbeef has left IRC ()
[03:24:50] --> Rottingbeef has joined #exult
[12:21:36] --> ttarrant has joined #exult
[18:04:40] --> Marzo has joined #exult
[19:23:34] <-- Rottingbeef has left IRC ()
[19:54:28] --> ttarrant_ has joined #exult
[19:57:14] <-- ttarrant has left IRC (Ping timeout: 240 seconds)
[20:07:45] --- ttarrant_ is now known as ttarrant
[20:20:56] --> Rottingbeef has joined #exult
[20:21:10] <-- SHODAN has left IRC (Remote host closed the connection)
[20:23:17] --> SHODAN has joined #exult
[21:05:55] <-- ttarrant has left IRC (Quit: Leaving)
[21:24:04] <-- Rottingbeef has left IRC (Ping timeout: 255 seconds)
[21:36:20] <-- Dominus has left IRC (*.net *.split)
[22:02:20] --> Dominus has joined #exult
[22:02:20] --- ChanServ gives channel operator status to Dominus
[22:04:03] <Dominus> Marzo, about pull request https://github.com/exult/exult/pull/21 when I ignore the (0) to (nullptr) changes and just add the thread the issue on OS X without a sound device is resolved.
[22:04:11] <Dominus> can I easily apply this or is t best just to change it in my source, commit it and give thanks to Alagner?
[22:06:04] <wjp> given the small size, I'd just make the change yourself and thank him in the commit message
[22:06:36] <wjp> (I know I'm not Marzo, but I thought I'd chime in anyway :-) )
[22:06:58] <Dominus> he he, you are always welcome to :)
[22:15:37] <Dominus> So at least on two different OS X versions I can verify it working and not crashing.
[22:15:46] <Dominus> so I'm adding this :)
[22:16:51] <wjp> although I'm kind of wondering if this code should even be called if there is no sound device
[22:17:54] <Dominus> when I tested it for Alagner, it seems that it might be a regression in SDL 1.2x code because very old snapshots for OS X did work
[22:18:10] <Dominus> and SDL2 does not have a problem as well
[22:19:23] <Marzo> Dominus: just change the nullptr to NULL
[22:19:39] <wjp> Marzo: the PR changes 0 to nullptr for no reason
[22:19:40] <Marzo> nullptr is c++11, and the PPC compiler is too old for that
[22:20:05] <Marzo> Is it meant to be a pointer or a 0?
[22:20:07] <wjp> the patch shouldn't be touching this at all
[22:20:34] <Marzo> Well, that is a fair point
[22:20:41] <wjp> (but, pointers)
[22:20:57] <Dominus> :)
[22:21:02] <Marzo> Anyways, off to bed
[22:21:08] <Dominus> good night
[22:22:00] <wjp> night
[22:23:30] <Dominus> (it may be a regression in Exult as well from when we did some threads stuff in LowLevelMidiDriver back in the SDL2 porting days)
[22:25:35] <-- Marzo has left IRC (Ping timeout: 268 seconds)
[22:28:38] <wjp> in general LowLevelMidiDriver seems to try to avoid doings things if it isn't initialized properly
[22:29:04] <wjp> so it's possible a check is missing elsewhere
[22:31:30] <wjp> oh, we had a whole discussion about this back in 2015
[22:31:46] <Dominus> hmm, I'm going through my snapshots and when Philipp toched lowlevelmididriver in August 2013 it still worked
[22:31:50] <Dominus> yes
[22:32:09] <Dominus> it took us a while to figure out why it would crash
[22:38:03] <Dominus> hmm, in SVN revisions it broke either between r7480 and 7487 OR I did change something in regards to SDL 1.2x
[22:39:48] <Dominus> and the only culprit could be me making FMOPl default
[22:39:52] <Dominus> in 38e5cb92f7b0e745b9703c01493041f0ddf7b571
[22:42:53] <wjp> oh, hummm
[22:44:38] <wjp> so that's not a threaded midi driver
[22:44:52] <wjp> and your logs from back then seem to indicate it's picking fmopl for you there
[22:48:48] <Dominus> so we should be more sensible by checking for an actual device before doing any midi driver pushback - or is Alagner's patch a good circumvention?
[22:49:20] <wjp> currently I'm wondering why this is even working at all
[22:51:05] <Dominus> Alagner told me that he couldn't reproduce on Linux. Just maybe SDL 1.2x does something odd there on OS X
[22:56:47] <-- Lightkey has left IRC (Ping timeout: 276 seconds)
[22:57:37] <wjp> ok, I don't see why this patch would help
[22:58:08] <Dominus> gremlins...
[22:58:14] <wjp> hrm
[22:58:24] <Dominus> it shouldn't happen and this patch shouldn't help
[22:58:25] <wjp> but we do forget to set initialized to false maybe
[22:59:08] <wjp> oh, no, that's done by MidiDriver
[23:05:31] <wjp> ah
[23:05:34] <wjp> this is odd
[23:05:54] <wjp> destroySoftwareSynth is trying to send a message to a thread
[23:06:38] <wjp> and then when quitting it will wait around forever for something to process this message, which will never happen
[23:09:27] --> Lightkey has joined #exult
[23:10:56] <wjp> well, unless produceSamples is still getting called, but that isn't happening when there's no audio
[23:11:19] <wjp> this PR is wrong
[23:11:52] <wjp> the existence of thread is not the right condition
[23:14:46] <Dominus> so as Alagner points out in the latest PR comment the driver code just shouldn't be doing that to begin with
[23:21:23] <wjp> I don't believe that
[23:22:47] <Dominus> I mean without an audio device it shouldn't go off like that. But maybe SDL pretends there is one while not having a real dummy driver
[23:22:58] <wjp> I replied on the PR
[23:44:37] <wjp> good night