I had a quick look at this and it looks great, I wanted to program a plugin to get midi timecode into QC but this seems to do it all. Any idea on how to get MTC from the data as it send 1/4 frame signals, that would be really, really useful.
Anyway any help would be great.
Cheers
Steve
If you use VDMX or any other app that uses the VVMIDI framework (i think CoGe does) you should uninstall the plugin. This is because i used the framework in a manner that i should have not.
I will fix this asap but im a bit busy till the 12th of this month so i doubt it will be done before that time.
Sorry about this and big thanks to Ray form vidvox for pointing this out.
well, the framework thing was fixed with some help from Ray (loading the framework dynamically) but there was one other thing that i never could fix, which is detecting the controllers as they are plugged in. it only detects them when you go to the settings or restart the composition. i then basically just forgot about it. ill check it again if i can fix that or at least try and compile one with the framework fix.
i know about the setup changed method. i looked at the code and i think i spotted the problem. i overrode the method which creates the virtual destinations and those are the only ones that receive the notifications about setup changes. without them the method never gets called. i removed them because QC doesn't call dealloc when a patch is removed from the editor (this is SUPER annoying) which makes adding and removing them cause virtual nodes to get created but never removed. i really don't get why there is no way to know if an instance of a plugin gets removed from the editor. this is also the reason i can't have one global midi manager:/.
anyway, ill see if i can hack something up to fix it.
well, here is the fixed version. this one uses the apps framework if an app uses VVMIDI instead of the one it stores locally (the current trunk version). i don't have the time and energy to test it much so you should do so before relying on it :). it should work though. it also detects midi setup changes and remembers disabled sources and destinations.
Does this work fine for everyone else? I can open the example patch that comes with it and everything works fine with the patch..... I just can't open the patch library any more as it crashes as soon as I hit the button (both 32/64 bit). I'm on 10.8 and get the below error message, if you don't have the time to fix it could you please release the source
Application Specific Information:
Uncaught exception "NSInvalidArgumentException": NSConcreteMutableAttributedString initWithString:attributes:: nil value
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:attributes:: nil value'
terminate called throwing an exception
abort() called
Hey I am having exactly the same error reading when Quartz composer crashes.
did you ever find a solution to this?
best,
lanz
here is my error report:
Application Specific Information:
Uncaught exception "NSInvalidArgumentException": NSConcreteMutableAttributedString initWithString:attributes:: nil value
objc[1113]: garbage collection is OFF
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:attributes:: nil value'
fsk - I don't suppose you would be happy to put the source up on github? this is an amazing plugin and allows for things that the stock and other midi plugins can't achieve. I'm pretty sure you can't run 10.6 on newer hardware and it would be great not to see this plugin fall by the wayside.
it works just fine on 10.8.2 here. i have some time and would like to fix it but i would have to somehow reproduce the problem. could you try removing any other plugins you have installed especially "skanky SDK" plugins and see if the problem persists?
how's about that seems to cover those bases nicely :-)
worked straight out of the box, cheers, fsk.
I had a quick look at this and it looks great, I wanted to program a plugin to get midi timecode into QC but this seems to do it all. Any idea on how to get MTC from the data as it send 1/4 frame signals, that would be really, really useful. Anyway any help would be great. Cheers Steve
never heard of MTC before. good to learn new stuff:).
found this page which explains it nicely: http://www.richardbrice.net/midi_timecode.htm and added MTC decoding to the example patch.
cheers
you just ROCK !
Thank you so much this is great news and will work with qlab brilliantly thanks so much. Steve
IMPORTANT NOTICE:
If you use VDMX or any other app that uses the VVMIDI framework (i think CoGe does) you should uninstall the plugin. This is because i used the framework in a manner that i should have not.
I will fix this asap but im a bit busy till the 12th of this month so i doubt it will be done before that time.
Sorry about this and big thanks to Ray form vidvox for pointing this out.
@fsk : any news on an update ?
well, the framework thing was fixed with some help from Ray (loading the framework dynamically) but there was one other thing that i never could fix, which is detecting the controllers as they are plugged in. it only detects them when you go to the settings or restart the composition. i then basically just forgot about it. ill check it again if i can fix that or at least try and compile one with the framework fix.
You friend is the setupChanged method of the VVMIDIManager delegate, I guess. You'll find the sources in the sourceArray array.
+1 for getting an updated working copy - even if it just fixes the framework issue
i know about the setup changed method. i looked at the code and i think i spotted the problem. i overrode the method which creates the virtual destinations and those are the only ones that receive the notifications about setup changes. without them the method never gets called. i removed them because QC doesn't call dealloc when a patch is removed from the editor (this is SUPER annoying) which makes adding and removing them cause virtual nodes to get created but never removed. i really don't get why there is no way to know if an instance of a plugin gets removed from the editor. this is also the reason i can't have one global midi manager:/.
anyway, ill see if i can hack something up to fix it.
well, here is the fixed version. this one uses the apps framework if an app uses VVMIDI instead of the one it stores locally (the current trunk version). i don't have the time and energy to test it much so you should do so before relying on it :). it should work though. it also detects midi setup changes and remembers disabled sources and destinations.
thanks, appreciated.
ditto
Great plugin, great update. Much thanks for sharing
Does this work fine for everyone else? I can open the example patch that comes with it and everything works fine with the patch..... I just can't open the patch library any more as it crashes as soon as I hit the button (both 32/64 bit). I'm on 10.8 and get the below error message, if you don't have the time to fix it could you please release the source
Cheers James
Process: Quartz Composer [28178] Path: /Developer/Graphics Tools/Quartz Composer64.app/Contents/MacOS/Quartz Composer Identifier: com.apple.QuartzComposer.editor Version: 4.6 (148) Build Info: QuartzComposerEditor-148000000000000~27 Code Type: X86-64 (Native) Parent Process: launchd [262] User ID: 501
Date/Time: 2012-09-25 10:48:16.806 +1000 OS Version: Mac OS X 10.8.1 (12B19) Report Version: 10
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information: Uncaught exception "NSInvalidArgumentException": NSConcreteMutableAttributedString initWithString:attributes:: nil value *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:attributes:: nil value' terminate called throwing an exception abort() called
Application Specific Backtrace 1: 0 CoreFoundation 0x00007fff95b05716 __exceptionPreprocess + 198 1 libobjc.A.dylib 0x00007fff8c49d470 objc_exception_throw + 43 2 CoreFoundation 0x00007fff95b054ec +[NSException raise:format:] + 204 3 Foundation 0x00007fff96d2ef66 -[NSConcreteMutableAttributedString initWithString:attributes:] + 129 4 DevToolsKit 0x00000001059aae48 -[DTAssetView text] + 1018 5 DevToolsKit 0x00000001059aa53b -[DTAssetView drawRect:] + 846 6 AppKit 0x00007fff9102ea94 -[NSView _drawRect:clip:] + 4217
Cant replicate this here. Tried on 10.8 though. Ill update to 10.8.2 and see what happens.
FYI I'm on 10.8.1 and can't see the 10.8.2 update yet so am unable to try that
Hey I am having exactly the same error reading when Quartz composer crashes.
did you ever find a solution to this?
best, lanz
here is my error report:
Application Specific Information: Uncaught exception "NSInvalidArgumentException": NSConcreteMutableAttributedString initWithString:attributes:: nil value objc[1113]: garbage collection is OFF *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:attributes:: nil value'
Yes....use 10.6
fsk - I don't suppose you would be happy to put the source up on github? this is an amazing plugin and allows for things that the stock and other midi plugins can't achieve. I'm pretty sure you can't run 10.6 on newer hardware and it would be great not to see this plugin fall by the wayside.
great thanks,
it works just fine on 10.8.2 here. i have some time and would like to fix it but i would have to somehow reproduce the problem. could you try removing any other plugins you have installed especially "skanky SDK" plugins and see if the problem persists?
Hello!
Some use i have done of you plugin, it works really great, thanks!
So, for anyone who needs a midi mapping for the Akai Apc40, here it is:
http://kineme.net/composition/wayna/APC40MidiMapping