Giter Club home page Giter Club logo

qlabkit.objc's People

Contributors

balord avatar c-had avatar chrisashworth avatar douglasheriot avatar james-richards-privitar avatar jwetzell avatar zachwaugh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qlabkit.objc's Issues

Will randomly connect to localhost, instead of resolved address

  • When NSNetService calls its delegate’s netServiceDidResolveAddress: (QLKBrowser), there may be multiple addresses, in an unpredictable order.
  • Each address may be IPv4, or IPv6
  • QLKBrowser IPAddressFromData: will only work for IPv4 addresses. With a v6, it will return @"0.0.0.0"
  • If you connect to 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).

Variable name error

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.

Invalid colorName

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.

Optional properties mandatory

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.

Feature Request - Fade Levels

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.

Feature request - disconnectAll

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

ARC enabled usage

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:

  • F53OSCBundle.m
  • F53OSCClient.m
  • F53OSCMessage.m
  • F53OSCPacket.m
  • F53OSCServer.m
  • F53OSCSocket.m
  • F53OSCTimeTag.m
  • NSData+F53OSCBlob.m
  • NSString+F53OSCString.m

Thanks
GW

Feature Request - reply from new cue

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

Cue List name not updated

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 all times report 0.00000

(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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.