Giter Site home page Giter Site logo

willianrod / odeck Goto Github PK

View Code? Open in Web Editor NEW
361.0 361.0 20.0 24.2 MB

A free and open-source alternative to StreamDeck

Home Page: https://odeck.app

License: MIT License

TypeScript 83.01% JavaScript 7.29% Shell 0.03% CSS 0.78% SCSS 0.64% EJS 0.23% Python 8.02%
gamming hacktoberfest streaming twitch

odeck's Introduction

odeck's People

Contributors

dennisurtubia avatar eduardojm avatar fireblaze267 avatar ismaelezequiel avatar sergius02 avatar sesave avatar theundertakerjr666 avatar willianrod 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  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  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  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

odeck's Issues

how to download ver 0.0.6?

Summary

someone tell me how to get ver 0.0.6 ? i am not a coder i do not understand what to do there is no installer!!???

[bug] cannot open OBS executable

Reported by: eujeffz

Expected Behavior

Open OBS correctly without any issues

Current Behavior

While trying to open OBS, an error is show. The error is coming from OBS failing to start properly. Tried with some other executables and works fine, just OBS that is having issues.

Steps to Reproduce

  1. Add a key to open an executable

  2. Select obs.exe inside obs folder obs-studio\bin\64bit\obs64.exe

  3. Hit save

  4. Press the key to open OBS in your deck

  5. You should see the error below now
    image

Possible Solution (Not obligatory)

Maybe we need to open OBS not as a child process? Just guessing

Context

Your Environment

  • ODeck version or branch : 0.0.4
  • Operating System and version : Windows

[Feature] Adding a running app in the background

While I was using oDeck I noticed that I couldn't leave oDeck in the "background" without appearing in my Windows tabs, or I had to leave them in my tabs or open another desktop and leave them there. That's when I found it interesting to have that functionality where you close the app and it has the little icon on the taskbar

Can't use ODeck for OBS hotkeys if OBS isn't focused. Am I missing something?

Summary

I have ALT+SHIFT+F1 set to switch to a scene in OBS. I have configured ODeck to send that same key combo.

When OBS has focus, I tap the button on my phone and the hotkey works. If OBS is not in focus it does not. When I do the hotkey manually on my keyboard, it works regardless of focus.

Have I missed something obvious here? This seems like a very basic use-case and I don't see an open issue for a bug like this. On Windows 11, tried running ODeck as admin as well.

Multiple connection and plugins

I think this app will an incredible project.

Congrats! For your work.

I think at this moment, the next best features are two:

  • plugins store: allow creating scripts to run complex commands and share with others.
  • multiple connections: allow connecting with multiples servers from app and switch easy to them templates.

ODeck not working with OBS Toggles

Expected Behavior

Used ODeck to toggle a hot key in OBS with both applications having admin control.

The toggles didn't react and in multiple instances gave a popup error

PopUpError

Steps to Reproduce

  1. Run both ODeck and OBS as Admin
  2. Make a matching HotKey for ODeck and OBS
  3. Click off OBS and make sure it isn't the focus
  4. Connect through the phone app and use the programmed Hotkeys

Potentially look into how obs listens for key presses and weave that into the phone app
Check how the phone app mimics what OBS listens for and see how close the process can get to creating what obs looks for.
See if a connection is still secure even when OBS is out of focus.

Context

Attempting to setup OBS to work with Odeck so that I can use it as an alternative to control obs without having to have it in the foreground.
No changes to the project was made before downloading the GitHub Project.

Your Environment

  • Node version :
  • ODeck version or branch : V0.0.8
  • Operating System and version : Windows 10
  • Link to your project :

How does one insert a background image?

Documentation on how "background url" works is non existent.

I've been trying to get background images to display, and I just can't get it to work. Does it support local system file url's? Does it have to be from an online source? What image formats are supported?

It would be great if you could expand out how this functionality works.

Macro plugin

Hot keys are one thing, but something that would really be useful would be macros.

It could look something like this.

"keys": [
	{
		"label": "inv1",
		"backgroundColor": "#ffae00",
		"color": "#fff",
		"id": "2024-03-23T10:46:13.703Z",
		"type": "macro",
		"pageId": "c2283202-64d9-4e31-856a-ea0dda4b629b",
		"position": 0,
		"backgroundUrl": "",
		"hideLabel": "",
		"actionConfig": {
			"key-hold": "q",
			"wait-ms": "1000",
			"key-press": "1",
			"wait-ms": "250",
			"key-press": "Enter",
			"key-hold-end": "q"
		}
	}
]

The UI can consist of an add action button. The add action button then moves down one slot, and a drop down or popup appears to select the action type, and a text/dropdown/record field or button, to enter the relevant variable. You can then click add action again and it all stacks downwards.

Add GitHub Actions to deploy the app automatically on every new tag

Today the process of deploying is manual, and we should change that. To do that we should use GitHub actions that will be triggered on new tag.

For now, we should focus on continuously deploying the electron app, because the mobile app will be listed in the App Store/Google Play in the near future.

MacOS version won't recognize Mac Applications

First, thank you for this project and for creating a MacOS version!!

That said, here's what I'm using...

ODeck for MacOS: v0.0.6 | ODeck-0.0.5.dmg* (Aug 31)
*Asset version (0.0.5) does not match release version (0.0.6).

Below (3.) is the issue I'm running into...


  1. Drag "Run executable" over to create "Open app" button.
  2. Click on "Choose file" under "Executable."

Select the executable file you want to run when the button is pressed.

  1. ---> All Application files are grayed-out (not selectable) <---

Why is the MacOS version not setup to recognize Mac Applications (instead of executables)?

Am I missing something or doing something wrong?

Any help would be greatly appreciated!

[design] create screenshots to publish at app store and google play

Description

To publish the apps at Google Play and App Store you have to add screenshots of the app.

Current version

In order to submit the app to approval, I did a very quick draw at 1AM and as you can see there is even a typo in it.

1 2 3
Apple iPhone 11 Pro Max Apple iPhone 11 Pro Max (1) Apple iPhone 11 Pro Max (2)

Assets

App Store

  • iPhone
    • 6.5" 1284 x 2778 pixels
    • 5.5" 1242 x 2208 pixels
  • iPad
    • 12.9" (iPad 2nd gen) 2048 x 2732 pixels
    • 12.9" (iPad 6th gen) 2048 x 2732 pixels

Google Play

We can use the same images from App Store at Google Play.

App Store requirements

The images MUST have this exact resolution in order to work. https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications/

image

Screenshots to use

Here is a list of screenshots you could use

iPad iPhone
IMG_0053 IMG_5275
IMG_0055 IMG_5276

[feature] allow to reorder keys in a page

Description

When creating my page, sometimes I found myself in need to move one existing key to another position. Right now, this is not possible and would be really cool to have this feature.

Requirements

  • When clicking and dragging an existing key and moving around, a "ghost" element following the cursor should appear
  • When dropping the key, you should validate if the target is not already occupied. If not, then update the dragging key to the new position

Simplified Chinese version

I want to translate it into simplified Chinese but I don't know how to edit the code. If you guys want to release a Chinese version, I'd like to help you translate the texts.

Delete device feature

Hi, @willianrod. I want to suggest a request 😄.

A button to delete a device in the Start component, something like this:
image

I think this device delete action may have some rules, e.g some cascade deletion with keys and pages. So, if this feature make sense for you, a description to done this task might be helpful. Also, I can implement this feature :)

[docs] update readme with new logo and updated information

Expected

Update README with new supported devices, updated screenshots, updated documentation on how to create keys and current supported features. Also, important to add a pt-BR version of the README. Also add a step-by-step guide on how to download the app and client and get up and running.

Current supported features

  • Create multiple devices
  • Customize device layout
  • Create multiple screens
  • Navigate between screens
  • Open executable
  • Trigger hotkey
  • Open an URL
  • Play sound
  • Trigger media keys

Upcoming features:

  • Delete device
  • Export/Duplicate device
  • Integrate with OBS
  • Integrate with Discord
  • Integrate with Twitch

[feature] add keys state to allow toggle keys

Description

To have a toggle feature or even show custom images depending on some situations, we will need to store states to each key.

Use cases:

  • Mute/Unmute microfone
    • I want to show a different image depending if the microfone is muted or unmuted on a key.
  • Spotify current playing song
    • I want to show the cover of the current playing song and it needs to update when a new song comes up
  • Clock
    • I want to show the current time in a key

Desktop/windows client support

This project looks interesting! Would it be possible to (easily) create a desktop client (Windows or Mac) so that I can also use my touch screen as a client?

Cannot use comma for hotkey

Expected Behavior

Use comma for hotkey without any issues

Current Behavior

Press hotkey with Comma key binding and nothing happens.

Steps to Reproduce

  1. Drag hotkey to the deck

  2. Start Recoding

  3. Press Comma key

  4. Hit Save

  5. Press the hotkey in your deck

  6. Nothing happens.

Your Environment

  • ODeck version or branch : 0.0.4
  • Operating System and version : Windows

Hotkeys not working macOS

Prerequisites

Dont know what those mean

Expected Behavior

Mission control shortcut to be run on mac

Current Behavior

Set a hotkey on macOS

Steps to Reproduce

Uncaught Exception:
Error: Invalid key code specified.
at EventEmitter.onHotkey (/Applications/ODeck.app/Contents/Resources/app.asar/dist/main/main.js:8:729835)
at EventEmitter.emit (node:events:394:28)
at Socket. (/Applications/ODeck.app/Contents/Resources/app.asar/dist/main/main.js:8:739731)
at Socket.emit (node:events:394:28)
at Socket.emitUntyped (/Applications/ODeck.app/Contents/Resources/app.asar/node_modules/socket.io/dist/typed-events.js:69:22)
at /Applications/ODeck.app/Contents/Resources/app.asar/node_modules/socket.io/dist/socket.js:466:39
at processTicksAndRejections (node:internal/process/task_queues:78:11)

Possible Solution (Not obligatory)

Context

Your Environment

  • Node version :
  • ODeck version or branch :0.0.5
  • Operating System and version : macOS 13.6.1
  • Link to your project :

Active Icon change e.g.: Mutet / Unmutet

I think it would be cool if you could use two icons for one function.
As an active or inactive note.
E.g.: I mute my microphone, so the icon changes to an image that e.g. is gray.

I really miss that.

[feature] Add OBS integration

Description

As a streamer I want to be able to add a key that allows me to pick one of my scenes and transition to that scene when pressed

Tech requirements

OBS has a built in websocket server that we can use to perform actions like switch scenes and get OBS information, like current volume

Features

  • Switch between scenes
  • Increase and decrease output volume
  • Start live
  • End live

???

Summary

How do i download and install v 0.06 ? i cant see the installer

How can i import Microsoft Apps?

I have installed Netflix / Amazon Music and more as App from Microsoft-Store

How can i connect an App with a Button.
Not a program ! This works !

I find nothing :-(

[refactor]: refactor handlers to be expandable

Problem

The current architecture is expandable but requires a lot of configurations, we need it to be expandable with less configuration. This will allow ODeck to expand features very fast.

Possible solution

I still thinking about that, but I'm open to suggestions.

Minimum requirements

  • For every new handler, we should touch a single file
  • The handler should be localized using i18n
  • Registering the handlers should be done automatically
  • Every handler should add a new group to the sidebar

Connecting Across Subnets

Summary

Is it possible to connect to a server on a different subnet than the client? In my testing it didn't work.

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.