INTERACT FORUM

More => Old Versions => JRiver Media Center 21 for Linux => Topic started by: bamyasi on October 25, 2015, 11:30:13 am

Title: Feature Request: polarity switch
Post by: bamyasi on October 25, 2015, 11:30:13 am
One little feature I'd love to see in JRiver is absolute polarity or phase inversion control. This was once almost ubiquitous on DACs.  Years ago I had a Parasound DAC1000 which included it, but is now infrequent and even rarer in end user software. The only place I've seen it is in HQPlayer, but I'd rather just go with JRiver. To be most useful (for me anyway), it would be great to be able to perform the switch via a keyboard short-cut.
Title: Re: Feature Request: polarity switch
Post by: mwillems on October 25, 2015, 11:51:28 am
You can currently swap polarity in DSP Studio. There's a parametric equalizer filter called "Reverse Polarity"
Title: Re: Feature Request: polarity switch
Post by: bamyasi on October 25, 2015, 12:06:40 pm
 8)
Great, thanks!!
A keyboard shortcut would be fantastic, but that's WAY better than nothing!
Title: Re: Feature Request: polarity switch
Post by: mattkhan on October 25, 2015, 01:26:17 pm
8)
Great, thanks!!
A keyboard shortcut would be fantastic, but that's WAY better than nothing!
there's an MCWS command which turns a dsp block on or off.

If you are able to spare a PEQ block then you could set one up with just the polarity inversion and then create a keyboard shortcut that makes that web service call

For example if jriver is running locally and you use Parametric Equalizer 2 then it would be

turn on
http://localhost:52199/MCWS/v1/DSP/Set?DSP=Parametric%20Equalizer%202&On=1&Zone=-1&ZoneType=ID

turn off
http://localhost:52199/MCWS/v1/DSP/Set?DSP=Parametric%20Equalizer%202&On=0&Zone=-1&ZoneType=ID

Since you're running linux then you should just be able to stick this in a sh script and use curl to hit the url

for example

Code: [Select]
#!/bin/bash
# 1 arg, if 1 then turn on, if 0 then turn off
# returns 0 if http = 200 or 1 otherwise
# no error handling to speak of :)
function do_dsp {
    HTTP_STATUS=$(curl -w "%{http_code}" -o /dev/null -sL -X GET http://localhost:52199/MCWS/v1/DSP/Set?DSP=Parametric%20Equalizer%202&On=${1}&Zone=-1&ZoneType=ID)")
    [[ ${HTTP_STATUS} -eq 200 ]] && return 0 || return 1
}

do_dsp ${1}

you could then have a script that calls do_dsp and passes 1 or 0 depending on whether you want it on or off (you could even make it a toggle if you wanted to) & bind that to a key using bind or whatever mechanism your desktop has in place to do this
Title: Re: Feature Request: polarity switch
Post by: dsnyder0cnn on August 24, 2016, 12:40:19 am
Joining this thread late...it would not have occurred to me to use PEQ for this, so thanks for a handy workaround until JRiver developers take a few minutes to expose a specific REST API call to control polarity inversion directly.

Related to this, it would be nice to have an API call to change the config file currently being used for convolution. If these APIs were exposed, it would be pretty easy to create simple Android/IOS apps that hit them to invert phase or cycle through a pre-defined list of convolution config files.

Is there a formal place to suggest API enhancements for JRiver, or is this forum the best place. Thanks.