bitfocus / companion-module-requests

Repository for tracking module requests
100 stars 11 forks source link

AJA ColorBox #921

Open TW-AJA opened 2 years ago

TW-AJA commented 2 years 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 4 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 4 months ago

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

XENONChromatic commented 3 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months ago

@thebaggins sounds good!