-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
199 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,92 +1,99 @@ | ||
{ | ||
"Name": "Denon Receiver Network Control", | ||
"Version": "0.7.2.0", | ||
"Author": "Matthew Thiel", | ||
"Actions": [ | ||
{ | ||
"Name": "Volume Control", | ||
"UUID": "com.mthiel.denon-controller.volume", | ||
"Icon": "imgs/actions/volume/volume2", | ||
"Tooltip": "Displays the current volume and allows for adjustment.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ "Keypad", "Encoder" ], | ||
"DisableAutomaticStates": true, | ||
"Encoder": { | ||
"layout": "$B1", | ||
"TriggerDescription": { | ||
"Push": "Mute/Unmute", | ||
"Rotate": "Adjust Volume", | ||
"Touch": "Mute/Unmute" | ||
} | ||
}, | ||
"States": [ | ||
{ | ||
"Name": "Unmute", | ||
"Image": "imgs/actions/volume/volume2" | ||
}, | ||
{ | ||
"Name": "Mute", | ||
"Image": "imgs/actions/volume/volumeMute" | ||
} | ||
] | ||
}, | ||
{ | ||
"Name": "Power Control", | ||
"UUID": "com.mthiel.denon-controller.power", | ||
"Icon": "imgs/actions/power/powerOn", | ||
"Tooltip": "Turns the receiver on or off.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ "Keypad" ], | ||
"DisableAutomaticStates": true, | ||
"States": [ | ||
{ | ||
"Name": "On", | ||
"Image": "imgs/actions/power/powerOn" | ||
}, | ||
{ | ||
"Name": "Off", | ||
"Image": "imgs/actions/power/powerOff" | ||
} | ||
] | ||
}, | ||
{ | ||
"Name": "Source Control", | ||
"UUID": "com.mthiel.denon-controller.source", | ||
"Icon": "imgs/actions/source/source", | ||
"Tooltip": "Displays the current source and allows for selection.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ "Keypad" ], | ||
"DisableAutomaticStates": true, | ||
"States": [ | ||
{ | ||
"Name": "Source", | ||
"Image": "imgs/actions/source/source" | ||
} | ||
] | ||
} | ||
], | ||
"Category": "Receiver Control", | ||
"CategoryIcon": "imgs/plugin/category-icon", | ||
"CodePath": "bin/plugin.js", | ||
"Description": "Uses the network interface on many Denon/Marantz receivers to control basic functions. Requires a receiver with HEOS support.", | ||
"Icon": "imgs/plugin/marketplace", | ||
"SDKVersion": 2, | ||
"Software": { | ||
"MinimumVersion": "6.4" | ||
}, | ||
"OS": [ | ||
{ | ||
"Platform": "mac", | ||
"MinimumVersion": "10.15" | ||
}, | ||
{ | ||
"Platform": "windows", | ||
"MinimumVersion": "10" | ||
} | ||
], | ||
"Nodejs": { | ||
"Version": "20", | ||
"Debug": "enabled" | ||
}, | ||
"UUID": "com.mthiel.denon-controller" | ||
{ | ||
"Name": "Denon Receiver Network Control", | ||
"Version": "0.7.2.0", | ||
"Author": "Matthew Thiel", | ||
"Actions": [ | ||
{ | ||
"Name": "Volume Control", | ||
"UUID": "com.mthiel.denon-controller.volume", | ||
"Icon": "imgs/actions/volume/volume2", | ||
"Tooltip": "Displays the current volume and allows for adjustment.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ | ||
"Keypad", | ||
"Encoder" | ||
], | ||
"DisableAutomaticStates": true, | ||
"Encoder": { | ||
"layout": "$B1", | ||
"TriggerDescription": { | ||
"Push": "Mute/Unmute", | ||
"Rotate": "Adjust Volume", | ||
"Touch": "Mute/Unmute" | ||
} | ||
}, | ||
"States": [ | ||
{ | ||
"Name": "Unmute", | ||
"Image": "imgs/actions/volume/volume2" | ||
}, | ||
{ | ||
"Name": "Mute", | ||
"Image": "imgs/actions/volume/volumeMute" | ||
} | ||
] | ||
}, | ||
{ | ||
"Name": "Power Control", | ||
"UUID": "com.mthiel.denon-controller.power", | ||
"Icon": "imgs/actions/power/powerOn", | ||
"Tooltip": "Turns the receiver on or off.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ | ||
"Keypad" | ||
], | ||
"DisableAutomaticStates": true, | ||
"States": [ | ||
{ | ||
"Name": "On", | ||
"Image": "imgs/actions/power/powerOn" | ||
}, | ||
{ | ||
"Name": "Off", | ||
"Image": "imgs/actions/power/powerOff" | ||
} | ||
] | ||
}, | ||
{ | ||
"Name": "Source Control", | ||
"UUID": "com.mthiel.denon-controller.source", | ||
"Icon": "imgs/actions/source/source", | ||
"Tooltip": "Displays the current source and allows for selection.", | ||
"PropertyInspectorPath": "ui/action.html", | ||
"Controllers": [ | ||
"Keypad" | ||
], | ||
"DisableAutomaticStates": true, | ||
"States": [ | ||
{ | ||
"Name": "Source", | ||
"Image": "imgs/actions/source/source" | ||
} | ||
] | ||
} | ||
], | ||
"Category": "Receiver Control", | ||
"CategoryIcon": "imgs/plugin/category-icon", | ||
"CodePath": "bin/plugin.js", | ||
"Description": "Uses the network interface on many Denon/Marantz receivers to control basic functions. Requires a receiver with HEOS support.", | ||
"Icon": "imgs/plugin/marketplace", | ||
"SDKVersion": 2, | ||
"Software": { | ||
"MinimumVersion": "6.4" | ||
}, | ||
"OS": [ | ||
{ | ||
"Platform": "mac", | ||
"MinimumVersion": "10.15" | ||
}, | ||
{ | ||
"Platform": "windows", | ||
"MinimumVersion": "10" | ||
} | ||
], | ||
"Nodejs": { | ||
"Version": "20", | ||
"Debug": "enabled" | ||
}, | ||
"UUID": "com.mthiel.denon-controller" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
# Denon Receiver Network Control for Stream Deck | ||
|
||
A Stream Deck plugin that provides network control of Denon/Marantz receivers with HEOS support. | ||
|
||
## Features | ||
|
||
- **Volume Control**: Display and adjust volume levels, with mute/unmute functionality | ||
- Works with both standard Stream Deck buttons and Stream Deck+ dials | ||
- Shows real-time volume level on dials | ||
- Visual feedback for mute state | ||
|
||
- **Power Control**: Turn your receiver on/off with visual power state feedback | ||
|
||
- **Input Source Selection**: Quick access to switch between input sources | ||
- Supports all standard Denon/Marantz input sources | ||
- ~~Zone 2 can mirror Main Zone source~~ (Coming soon) | ||
|
||
- **Multi-Zone Support**: Control Main Zone and Zone 2 independently | ||
|
||
## Requirements | ||
|
||
- Stream Deck Software 6.4 or later | ||
- macOS 10.15 or later | ||
- Windows 10 or later | ||
- Denon or Marantz receiver with HEOS support | ||
- Receiver must be on the same network as your computer | ||
|
||
## Installation | ||
|
||
### Install from the Elgato Marketplace (Coming soon) | ||
*TBD: Currently only installable by building from source.* | ||
|
||
<!-- | ||
1. Download the plugin from the Stream Deck Store | ||
2. Double-click the downloaded file to install | ||
3. Stream Deck software will automatically install the plugin | ||
--> | ||
|
||
### Download and install locally (Probably coming soon) | ||
*TBD: Currently only installable by building from source.* | ||
|
||
|
||
## Usage | ||
|
||
1. Add any of the receiver control actions to your Stream Deck | ||
2. When first configuring an action: | ||
- The plugin will automatically search for compatible receivers on your network | ||
- Select your receiver from the dropdown list | ||
- Choose the zone you want to control | ||
- Configure action-specific settings | ||
|
||
### Available Actions | ||
|
||
#### Volume Control | ||
- Use as a button to toggle mute or set specific volume levels | ||
- On Stream Deck+: | ||
- Turn dial to adjust volume | ||
- Push/touch to toggle mute | ||
- Shows current volume level on dial display | ||
|
||
#### Power Control | ||
- Toggle power state | ||
- Explicitly set power on or off | ||
- Visual feedback shows current power state | ||
|
||
#### Input Source Control | ||
- Quick selection of input sources | ||
- ~~Option to mirror Main Zone source in Zone 2~~ (Coming soon) | ||
|
||
## Development | ||
|
||
This plugin is built using: | ||
- Node.js 20 | ||
- Stream Deck SDK v2 | ||
- @elgato/streamdeck SDK | ||
- *Process currently only tested on MacOS 15* | ||
|
||
To build from source: | ||
|
||
``` | ||
npm install | ||
npm run build | ||
npm run pack | ||
``` | ||
|
||
For development with auto-reload: | ||
|
||
``` | ||
npm install | ||
npm run watch | ||
``` | ||
|
||
## Troubleshooting | ||
|
||
If your receiver isn't detected: | ||
1. Ensure your receiver has HEOS support and is enabled | ||
2. Verify your receiver is on the same network as your computer | ||
3. Check that no firewall is blocking network discovery | ||
4. Try refreshing the receiver list in the action settings |