IRC logs for #opendune on OFTC at 2013-03-31
⏴ go to previous day
08:05:17 *** TrueBrain has joined #openDune
13:58:03 <glx> congrats for your self control :)
13:59:39 <TrueBrain> I hope it helps .. all I can say :)
14:00:18 <glx> his PR even destroy sleep and msleep on windows btw ;)
14:00:49 <TrueBrain> yeah ... we have well established he is not a Windows lover :D
14:04:11 <glx> luckily others know how to code :)
14:04:48 <TrueBrain> yeah; miniupnp is rather busy. Its nice to see activity :)
14:05:11 <glx> smart solution for BE problem indeed
14:06:22 <TrueBrain> yeah; there are a few things I would do differently, but I think that will be done anyway; the quality is rather nice, so I am happy :)
14:07:54 <TrueBrain> I like that he implemented MIDI for OSX :)
14:08:20 <glx> without knowing anything about it when starting
14:09:58 <TrueBrain> now only one bug remaining for a release ... the most annoying one
14:10:50 <glx> all window have their own infinite loop
14:11:38 <glx> well no infinite but you know what I mean :)
14:12:50 <glx> and none of them share the same code pattern
14:14:58 <TrueBrain> meh; well, it has to be done some day
14:15:02 <TrueBrain> I have been wondering for other solutions
14:15:28 <TrueBrain> can't believe the only way out is either one hell of an ugly hack, or a lot of time spend moving around code ..
14:15:58 <glx> maybe some kind of generic stuff doing pre-loop, loop, post-loop
14:17:26 <TrueBrain> what we also can do, is add something like sleepIdle(), but more in what you say, in every loop
14:17:33 <TrueBrain> so instead of while (true) { sleep(1); }
14:17:41 <TrueBrain> while (true) { video_update(); sleep(1); }
14:35:03 <glx> another problem is that windows are not stacked over each other
14:35:12 <glx> there's only one window at a time
14:35:42 <glx> with no backup of the previously active one
14:36:29 <glx> the active window recreates itself when it returns in its own loop
14:38:15 <glx> the flow is backup screen, create window, loop ( restore screen, handle events, backup screen, create window)
14:38:49 <glx> events could be opening another window
14:40:12 <glx> so very hard to factorise
14:44:27 <glx> first step would probably be to have "real" windows
14:45:38 <TrueBrain> dindt dsw do something like that?
14:51:16 <glx> so for now adding Video_Tick() call to sleepIdle() loops seems the easiest solution
14:52:38 <TrueBrain> yeah, but lets not do it in the sleepIdle macro
14:52:45 <TrueBrain> it hides it too much imp
14:52:54 <TrueBrain> and it is easiest, but I really really dont like it ...
14:53:00 <TrueBrain> it asking for shit :(
14:53:27 <glx> of course win32 video driver will need some changes too
14:54:03 <TrueBrain> were did our solution to use SDL threads end up?
14:54:08 <glx> due to the "event loop must be in the thread that created the window" rule
14:54:09 <TrueBrain> or did we use SDL threads for something different?
14:55:15 <glx> we used threads for the music
14:56:12 <TrueBrain> I never liked using threads for the timer, but ... honestly .. if that fixes the Linux and makes it stable ...
14:56:19 <TrueBrain> I guess that is a price that has to be paid :(
14:56:46 <glx> on windows timer has it's own thread
14:56:55 <TrueBrain> because Windows comes with threads :P
14:57:22 <TrueBrain> using threads on Linux forces POSIX systems
14:57:35 <TrueBrain> not the worst I uess
14:58:15 <glx> windows version is deadlock free since MPU interrupt has moved outside timer thread ;)
15:00:31 <TrueBrain> so I guess that is the magic 4th solution
15:00:45 <glx> but windows dsp handling also helps for that I guess
15:17:24 <glx> hmm alsa is already removed from signal handling since MPU_Interrupt has moved to its own thread
15:17:51 <TrueBrain> yeah, but the SDL can cause a free
15:17:56 <TrueBrain> which is the issue :P
15:23:42 <glx> maybe I should retry to put video in a thread
15:57:40 <Xaroth|Work> Ooh, talk in here
16:01:08 <Xaroth|Work> miniupnp wants to join in on the discussion :o
16:32:58 <TrueBrain> in a way I can appreciate; constructive :)
16:33:04 <TrueBrain> glx: does it also work on Linux? :D
16:33:54 <glx> I hate git when I need a patch including new files ;)*
17:00:42 <glx> ok seems to work for sdl too
17:06:31 <Xaroth|Work> as long as win64 works :P
17:14:18 <glx> Video_Tick() is now in its own thread
17:14:42 <glx> unless thread or semaphore creation failed
17:15:28 <TrueBrain> strictly seen ou forget to set s_video_Threading to false at uninit :P
17:15:41 <TrueBrain> does that solve the Linux deadlock issues?
17:16:16 <glx> it's hard for me to reproduce the deadlocks
17:16:22 <TrueBrain> yeah, I can imagine ..
17:16:29 <TrueBrain> put it in a PR on github, and ask for feedback?
17:27:39 <TrueBrain> and of course "the dude" has to push again
17:27:47 <TrueBrain> this time, I am going to see how bans work in github
17:33:04 <TrueBrain> cannot ban him under OpenDUNE
17:36:40 <TrueBrain> lolz; now I can sue him, awesome
17:42:01 <TrueBrain> awh, he removed his comment?
17:56:43 <Xaroth|Work> should fix the issue
17:57:04 <TrueBrain> what I tried; failed, clearly :P
19:08:21 <glx> oh nice guy, no more arguments ? let's start to insult
19:10:50 <TrueBrain> yeah ... I hope is only like 16 or so
continue to next day ⏵