bitfocus / companion-module-requests

Repository for tracking module requests
97 stars 10 forks source link

AJA ColorBox #921

Open TW-AJA opened 1 year ago

TW-AJA commented 1 year ago

ColorBox (https://www.aja.com/products/colorbox#features) is a powerful new HDR/SDR/LOG conversion product from AJA is targeted for many applications where control by Elgato's Stream Deck would be ideal. It's nodal based color processing pipelines will be used by DIT's, Editors, Colorists, HDR Supervisors etc. for film, commercial, episodic, sports, church productions and so many more. The applications and potential users are vast.

ColorBox control is based on OpenAPI and demo apps are available from this site (https://www.aja.com/products/colorbox#support) under the Documents -> ColorBox Demo Apps -> Download.

Thanks for considering developing the module.

XENONChromatic commented 2 months ago

Hey TW, I went ahead and with the kind support and guidance of some folks at AJA, managed to figure out a functional solution using the generic HTTP module. I'll try and share a mapping demo next week as time allows.

I doubt I have the javascript knowledge or time necessary to turn this into a module in the immediate future, but at least this should make it accessible to other users.

dnmeid commented 2 months ago

Complete API can be found here: https://github.com/aja-video/colorbox-demos

XENONChromatic commented 2 months ago

Hey TW, Apologies for the delayed follow up here, the past few weeks have been a little crazy schedule wise. Id hoped to put together a more comprehensive demo, but this should at least get you, and anyone else reading this started:

  1. Use the generic HTTP connection in the Companion connections tab. Base URL should just be http://your.colorbox.ip.address

  2. For each individual button, Im using the PUT command, with the top level colorbox section specified in the URI. This will vary depending on which overall Colorbox section you want to access. Everything Im doing in the attached example is in the overlay section, but this will vary if you want to access something else, like for instance the 1D Lut would need /v2/pipelineStages in the URI field.

  3. Additionally, you can use GET commands, if for instance you want to query the colorbox's state, and perform actions or update button labels and state based on frame state. All available commands are available for connected colorboxes at http://your.colorbox.ip.address/api/index.html

  4. If you have any questions or run into any issues implementing this please feel free to post here, or ping me via smoke pigeon, and I'll try my best to help out. I am also open to collaborating with anyone interested in turning this into a module, and helping with that development as time allows.

Screenshot 2024-07-20 at 11 21 17 AM Screenshot 2024-07-20 at 11 50 51 AM

ColorBox_Companion_Example.zip

thebaggins commented 1 month ago

@XENONChromatic . i'm with AJA engineering and I support our OpenAPI implementaion for ColorBox(basically our github site).

I was wondering if I could contact you for more info on what you have made available and how I might try it with a StreamDeck?

XENONChromatic commented 1 month ago

@thebaggins Hey of course, absolutely. Im not sure what the preferred way of communication is for your team, but @loganb-aja has my email address. Also happy to do a call, or Zoom, etc if thats easier.

thebaggins commented 1 month ago

I think a call might be useful. I'll check to see if TimW wants to join and get back in next couple of days. thanks for the quick reply.

thebaggins commented 1 month ago

@XENONChromatic this just in. Logan in Tech support says he has it up and running. I will first go talk with him and if i have any questions i'll come back to you. thanks.

XENONChromatic commented 1 month ago

@thebaggins sounds good!