Devialet Chat

Full Version: slaCmdr - pilot your phantoms from the command line
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi All, introducing slaCmdr 1.0 R2    https://halrad.com/slaCmdr/

HALRAD sound labs automation commander. slaCmdr.exe - Rhymes with Salamander but is more like a Chameleon, piloting your Devialet Phantom Speakers.  Lives near a tree or under a Gecko, hidden by what ever it is you integrate it into...

Puts you in the drivers seat piloting Devialet Phantom Speakers.

What is it?
A command line interface for Devialet Phantom speaker.

Why?
slaCmdr provides a command | shell interface for the Devialet Phantom speakers.

Initially this is conceived for use with small touch screens and an elgato Stream Deck as a simple way to control phantom speakers.

Where does it work?
Built tested: Windows 10, using .net - in theory should work cross-platform with appropriate .net support.

Where is it?  https://halrad.com/slaCmdr/
slacmdr_win-x86_R2.zip    (Windows x86 SIGNED self-contained 'single' binary release. No install needed, required. Just unzip it and run it.)
Implemented using C# - source can be made available to you if you want it - but not included.

slaCmdr.exe - usage
slaCmdr.exe -Discover  (experimental: query network for mDNS "_http._tcp.local." hosts)
slaCmdr.exe -SystemIP -RootNameSpace [operation]

- SystemIP: IPaddress of Devialet Phantom control point.
- 'RNS' RootNameSpace: Operate on one of a (Device | System | Group) object.

Examples Uses:
As an automation command line.
1) slcmdr.exe 192.168.0.15 RNS [-GetNowPlaying | -GetSourceList]
2) slcmdr.exe 192.168.0.15 RNS -PlaySource sourceID
3) slcmdr.exe 192.168.0.15 RNS -Play
4) slcmdr.exe 192.168.0.15 RNS -Pause
5) slcmdr.exe 192.168.0.15 RNS -VolUp
6) slcmdr.exe 192.168.0.15 RNS -VolDown

7) note: more of a true CLI interface is planned and in the works but not part of the R2 release. 

How to use it
Its a command line tool, run it from anything you can call a command from.  You could call it to Play, Pause, Play a source, turn the volume up or down.  Theater or Music applications that enable you to run external commands for example.  Home automation?

Known working / tested scenarios:

Create desktop shortcut or pin shortcuts to the start menu for Play, Pause, Vol Up , Vol Down, or play your favorite sources.

To simply start the current source playing the short cut target might look something like this: c:\tools\slacmdr_win-x86_r2.exe 192.168.0.15 groups -Play
You could assign a hotkey to the shortcut to execute the command to run the shortcut via a hot-key combination.
This is handy on a small screen or touch screen enabled device as an alternative to slPhantomTray.


Assign commands to Buttons on your elgato Stream Deck.

You can use the 'BarRaider advanced launcher' to run a commend when a button is pressed.  That command in this scenario is to slaCmdr.
TODO: investigate a Stream Deck plug-in, but for now opted for a command line approach first for its simplicity and re-usability.  This is already working. But could be better.... by displaying status (Volume, Play State) via the buttons.  The Phillips HUE plugin looks nice but the C++ CPU plug in might be a better starting point...


regards
scott-
Hey Scott,

Playing with the REST API, seems the volume POST request doesn't work Undecided I see you're not using it neither, do you have the same issue: whatever in the body it turns volume down to 0.

Thanks !
(13-Mar-2022, 10:23)scotthar Wrote: [ -> ]Puts you in the drivers seat piloting Devialet Phantom Speakers.

Hi

is there a function for "invert" among the Phantom API calls?
(20-Apr-2022, 11:43)tonin Wrote: [ -> ]Hey Scott,

Playing with the REST API, seems the volume POST request doesn't work Undecided I see you're not using it neither, do you have the same issue: whatever in the body it turns volume down to 0.

Thanks !

HI Tonin !  Yes I get the same behavior, volume goes to zero.

I tried harder, re-read the doc to make sure its was documented to work...

eventually did confirm with support can only use the +- 5% vol up down in 2.14.

Its something for the future, despite what the doc says. 

scott-
(20-Apr-2022, 19:10)ogs Wrote: [ -> ]
(13-Mar-2022, 10:23)scotthar Wrote: [ -> ]Puts you in the drivers seat piloting Devialet Phantom Speakers.

Hi

is there a function for "invert" among the Phantom API calls?

HI Ogs! 

At least not via the control API which is a *subset* of what you can do in the APP to select devices, assign sources, play, pause, mute, unmute, change the volume. 

The control API is the only API i am aware of.  BUT I would bet on the existence of other API interfaces for say source plug-in (think for things like spotify, rune) but i don't know anything about them or the capabilities.

In some alternate reality, if they cross-pollinate Phantom code with some of the Gemini code they already have it in theory.... just need to hook up the right wires and plumbing. ;-)

scott-
(23-Apr-2022, 06:51)scotthar Wrote: [ -> ]
(20-Apr-2022, 11:43)tonin Wrote: [ -> ]Hey Scott,

Playing with the REST API, seems the volume POST request doesn't work Undecided I see you're not using it neither, do you have the same issue: whatever in the body it turns volume down to 0.

Thanks !

HI Tonin !  Yes I get the same behavior, volume goes to zero.

I tried harder, re-read the doc to make sure its was documented to work...

eventually did confirm with support can only use the +- 5% vol up down in 2.14.

Its something for the future, despite what the doc says. 

scott-

Thanks Scott !!