Threads and GUI updates (MIDI sync)


#1

I’m trying out Tracktion (i want to migrate from FLStudio), the main reason is that FLStudio breaks MIDI sync (and MIDI out in general) when doing any GUI updates in it, moving windows showing new ones minimizing/maximizing the whole window etc.

I noticed that Tracktion doesnt have this problem (as Ableton Live), and i was talking to the developer of FLStudio he found that the timing issues are caused by Windows PostMessage() calls (or lack of them) when doing those GUI updates, some thread issue, i was wondering how JUCE handles this sort of stuff, and can it be caused by windows GDI as i thing JUCE dooes not use GDI for it’s graphics and FLStudio does.

any idea that else can cause this ?


#2

Well there’s no trick to it - it just runs its own high-priority thread that sends the messages at the right time, and doesn’t involve the UI thread at all for midi. I don’t know how FL must be doing it, but maybe they’re using some kind of timer that runs on the UI thread?


#3

i don’t know, i’ll ask. i kinda want this to work here and here.

the rpbolem is though for example Live has this done ok, and you can do massive gui stuff with no impact on MIDI, at the moment you load FL as a VST plugin or open it along with Live (to connect them via ReWire for example) FLStudio break Live’s MIDI too, it’s like global thing, gol (the dev of FL) claims it’s something in windows, and i know that FL uses GDI for graphics, i’d like to use them both (Tracktion and FL) but if LF keeps breaking timing on other applications it makes no sense.


#4

Sounds very strange. Sorry, no idea what could be happening!


#5