Giter Site home page Giter Site logo

Streamdeck as input device. about ucr HOT 7 OPEN

snoothy avatar snoothy commented on August 23, 2024
Streamdeck as input device.

from ucr.

Comments (7)

evilC avatar evilC commented on August 23, 2024

Yes, I bought an SD with the intention of working out how we might integrate it with UCR.
It's going to be relatively tough though with the way UCR works at the moment, especially if we wish to support setting arbitrary images on the buttons in response to input - the way UCR works at the moment, all sending is done by Indexes (numbers) rather than strings of text (eg a path to an image).
So either we need to make some concessions (Maybe have a config file that says "Image 1 is C:\somefile.jpg") or we need to extend UCR to support non-indexed inputs and outputs.
Either way, plugins in UCR do not currently support arbitrary GuiControls (eg something to display images, so you can select which image to assign to a button), so that's an additional hurdle.
Other features (eg support for Voice commands) would probably want similar changes, so I am leaning towards the latter.
In the meantime, I wrote a library for AutoHotkey called AutoHotStreamDeck, which gives you full programmatic control over the SD.

from ucr.

WooterTheTroubleshooter avatar WooterTheTroubleshooter commented on August 23, 2024

How about adding an action to the stream deck that calls an UCR api instead? I can now look for custom actions in Stream Deck through the "More actions" button?

Edit: Here is the url to the SDK to create custom actions. Which apperently also allows changing the icon and such. SDK
As a start I would be happy with just triggering UCR actions/chains by setting one button on the Stream Deck to that action.

from ucr.

evilC avatar evilC commented on August 23, 2024

The SD SDK that you linked is fundamentally different to the API that I am using to interact with the SD hardware - they are totally unrelated.
My code just interacts with the device directly via HID.
The SDK is for building DLLs that plug in to the Elgato software, so I would need some way for that DLL to be able to interop with UCR.
Also, it seems that SDK is JS, C++ or Objective-C only, none of which I am proficient in.

from ucr.

WooterTheTroubleshooter avatar WooterTheTroubleshooter commented on August 23, 2024

Looking into it somewhat further. The 'plugin' is essentially a command-line executable that is expected to start a websocket.
Then communicate with the Stream Deck software through that websocket.

What is the current route/plugin/wrapper for custom UCR plugins, is that IOWrapper?

from ucr.

evilC avatar evilC commented on August 23, 2024

Oh, that sounds interesting.
yeah, iowrapper is what actually handles the I/O

from ucr.

evilC avatar evilC commented on August 23, 2024

Still not 100% sure how this would work. I have done a little reading of the SDK docs, still not quite seeing how to go about this.
It seems to me that UCR itself cannot be the plugin - the plugin would be a proxy between the SD app and UCR. I am guessing that we would maybe need to have UCR communicate with the plugin via WebSockets or something, then the plugin communicates with the Elgato app?
BTW, feel free to pick this conversation up on Discord

from ucr.

fredemmott avatar fredemmott commented on August 23, 2024

There's also third-party C# SDK at https://github.com/BarRaider/streamdeck-tools

from ucr.

Related Issues (20)

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.