by mcow » Tue Jun 10, 2014 11:39 pm
I don't think they issue events for that. See the second table at:
http://www.mediamonkey.com/wiki/index.p ... pplication
The way I handle items that aren't notified is, I query them. Like, every pass around the loop, I read values from the SDB. It's definitely not ideal, but you can access the volume from SDB.Player.Volume.
Also, I recommend not using OnIdle() for anything, but define it:
If you don't define it, MM tries to call it anyway; the debug version emits "Failed calling of COM event" -- which it does only when OnIdle() is not defined, the other methods don't trigger that.
Every time I've put actual logic inside OnIdle, the MM UI slows to a crawl. It's called very often.
Even without logic inside, just the existence of an event-handling SDB object causes problems with MMW's window, in particular when trying to restore after minimizing.
I don't think they issue events for that. See the second table at:
http://www.mediamonkey.com/wiki/index.php/SDBApplication
The way I handle items that aren't notified is, I query them. Like, every pass around the loop, I read values from the SDB. It's definitely not ideal, but you can access the volume from SDB.Player.Volume.
Also, I recommend not using OnIdle() for anything, but define it:
[code]def OnIdle(self):
pass[/code]
If you don't define it, MM tries to call it anyway; the debug version emits "Failed calling of COM event" -- which it does only when OnIdle() is not defined, the other methods don't trigger that.
Every time I've put actual logic inside OnIdle, the MM UI slows to a crawl. It's called very often.
Even without logic inside, just the existence of an event-handling SDB object causes problems with MMW's window, in particular when trying to restore after minimizing.