figure53 / qlabkit.objc Goto Github PK
View Code? Open in Web Editor NEWAn Objective C library for controlling QLab using the OSC API introduced in QLab 3.
License: MIT License
An Objective C library for controlling QLab using the OSC API introduced in QLab 3.
License: MIT License
NSNetService
calls its delegate’s netServiceDidResolveAddress:
(QLKBrowser
), there may be multiple addresses, in an unpredictable order.QLKBrowser
IPAddressFromData:
will only work for IPv4 addresses. With a v6, it will return @"0.0.0.0"
0.0.0.0
, you connect to localhost.So, if NSNetService
randomly happens to resolve an IPv6 address first, you may end up connecting to QLab on localhost instead – without any warning or errors.
My proposed fix solves this by supporting both v4 or v6 in IPAddressFromData:
(F53OSC appears to work with both).
QLKClient.m Line 104
NSLog( @"QLKClient sending raw OSC message to (%@:%d): %@", self.OSCClient.host, self.OSCClient.port, messages );
"messages" should be "message" which is an argument for the method this line resides in. You can only see it if DEBUG_OSC is set to 1.
Hi, I wish to make the following observation:
On line 42 of lib/QLKColor.m
, "lightblue"
is given as a valid colour.
However, the lightblueColor
class/object/thing [^1] was removed in 1a7bce3.
Thus, there is a good chance that if a cue has a colorName
of "lightblue"
(possible with QLab prior to version 4.5 [^2]), then something untoward may happen.
^1 - I'm not familiar with Objective-C, so I'm not sure of the appropriate terminology here.
^2 - From QLab 4.5 onward, QLab ignores attempts (via OSC or AppleScript) to set a cue's colorName
to a named colour it doesn't recognise.
QLKCue newly optional properties (armed, preWait, postWait, duration) are called by GroupCueSorting.m causing a compile error until the properties are uncommented in the current branch.
Hello,
I have discovered that cueTypeIsAudio still returns 'true' for video cues in 0.0.4.
Cheers,
Dan
Currenlty there isn't a way to send a message to fade cues to enable/disable the levels. This isn't a problem most of the time becuase if you're sending a level it will enable. But the issue happens when you send a level at, or lower, than the min level set in QLabs preferences.
Basically, you have to send a value of -59.999 to get it to set to -inf. Which is still potentially buggy because you can't find out what the user set the min level to.
It would be great if you could either query what the workspaces min/max levels are, and/or be able to send a level message of -INFINITY or some equivalent message.
I was using a for loop to go through all the workspaces and disconnect them, but if they weren't connected then the program crashed. I found a way around it by having a variable remember the connected device.
It'd be great to have a disconnectAll method that you could call on a server that would handle this in an error-proof way, or to disconnect everything.
Thanks
GW
A small request to be put on the ReadMe>Installation section; noting that for use in a project that has ARC enabled you must go into the build phases and enter:
-fno-objc-arc
For the following files:
Thanks
GW
QLKClient.m line 160 method -(void)processMessage:(QLKMessage *)message
This is the method called when QLab sends a message back. There's some important data like when creating a new cue (eg: "/new fade"). I added the following code to make it work for me:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:message, kReplyMsg, nil];
[[NSNotificationCenter defaultCenter] postNotificationName:kReply
object:nil
userInfo:dict];
It would be great if this could become a permanent feature.
Thanks
GW
Hello
Not sure if this is an issue with QLabKit or the OSC API, but it appears that when you change the name of a cue list in Qlab the name isn't updated at the remote end - the refresh is called but the actual cuelist data doesn't seem to come across.
I'm trying to work out if it's me being dim. Which is fully possible.
Richard
(QLKCue *)cue...
NSNumber *qDuration = [NSNumber numberWithDouble:cue.duration];
and
NSLog ("DurationCheck:%f",cue.duration);
Prewait, postWait, and duration all report 0.000000 times no matter how long the file in Qlab is.
the notes key value also appears to only return null, as well.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.