SteffeyDev / atemOSC

Control ATEM video switchers over the network with OSC messages
http://www.atemosc.com
202 stars 32 forks source link

New Major Version 3.0.0 - OSCReceiver refactor and new features #135

Closed SteffeyDev closed 4 years ago

SteffeyDev commented 4 years ago

This was actually really fun, I refactored the way the receiver works to use pattern-matching and callbacks that are built into a tree structure for fast runtime matching. This provides a much easier way to add methods in the future, has some auto-documenting benefits, allows for better type-casting support, and brings implicit TouchOSC backward-compatibility to all methods.

Because this is such a major change to the underlying code, it also involved removing many deprecated methods, and thus warrants a new major version.

Included in these changes are DSK parameter methods (#130) and fully documented HyperDeck control (#58). It also has some potential crash fixes.

I'm looking for code review and testing before merging. I've done a fair amount of testing but included the binary as always for others to test.

randallpacker commented 4 years ago

Thanks Peter, this sounds incredible! As I am a user rather than a coder, is it possible you can post an installer of the latest version so I can test? Best, Randall

SteffeyDev commented 4 years ago

@randallpacker you can download the ZIP and run the atemOSC.app in the unzipped folder: https://github.com/SteffeyDev/atemOSC/archive/reciever-refactor.zip

Unfortunately, I'm not sure if it will work because of the way I signed it. Let me know what happens

Thanks for jumping in and offering to test!

SteffeyDev commented 4 years ago

Anyone remember how to get signing working for travis?

danielbuechele commented 4 years ago

Wow, that's a really cool refactoring. Thanks for working on this. I agree this should be a new major release. The code looks way cleaner than before. Feel free to merge, when you think it's ready.

randallpacker commented 4 years ago

@SteffeyDev @danielbuechele I just tested the beta version 3.0 with every single command I am using with both the ATEM and Hyperdecks (which is most everything) and it works like a charm (so far). The only funny thing that happens is when you launch the app it ask if you want to download the new version, so I just skipped that since I was already opening the new version. Bravo!!!

PS: I forgot to mention that I am using OSX 10.14, Mojave. I haven't installed Catalina.

SteffeyDev commented 4 years ago

Ok, I standardized the README spacing and format and fixed the cut-off

danielbuechele commented 4 years ago

Ok, one super minor thing. For the updated screenshot, can we make one without the wallpaper visible? (Press the space bar, when in screenshot mode and click on the window)

SteffeyDev commented 4 years ago

Ok, one super minor thing. For the updated screenshot, can we make one without the wallpaper visible? (Press the space bar, when in screenshot mode and click on the window)

Due to the needed signing updates, I can't actually run the app right now, and also don't have a switcher available to get a better log message. @danielbuechele Can I leave the screenshot for now and then we can update it later. It is the default 10.15 Catalina background, so should be familiar to users.

SteffeyDev commented 4 years ago

@randallpacker Thanks so much for testing! That makes me feel way better about releasing.

danielbuechele commented 4 years ago

100%! Leave the screenshot as it is for now.

SteffeyDev commented 4 years ago

Ok, thanks! merging and then I'll tag the commit for deployment

danielbuechele commented 4 years ago

Awesome! Congrats and again, thanks for working on this.

Should we remove the actual app from repo as it can be downloaded from the release page?