Denon slider problem

545 views
Skip to first unread message

Stan

unread,
Mar 2, 2013, 5:26:12 PM3/2/13
to comman...@googlegroups.com

I am having a problem with a slider.  It is for a Denon receiver and I have read all the post on issues with Denon and believe I have resolved all the issues that have been addressed.

My info:           Denon 4308CI

                        iPad version 6.1 (10B141)

                        iViewer version 4.0.242 build 242

I want to be able to control the volume of the receiver in -.5db increments either with the slider by dragging or pressing or with volume up/down commands.  I have set the slider up with two separate feedback items.  One which captures the two digit feedback and one which captures the three digit feedback. 

Feedback name:         volume_state_two_digits

Regex:                                    ^MV(?!99)(\d\d).?\x0D$

Data type                    Analog

Capture type               Analog

Join                             1

Token type                  value

Transform                   {{(value):1}}

Min value                    0

Max value                   80   [note: this model only goes to 0dB which is represented by 80]

 

In the second feedback item everything is the same except:

Feedback name:         volume_state_three_digits

Regex:                                    ^MV(?!99)(\d\d\d).?\x0D$

Transform                   {{(value/10):1}}

 

I am able to capture and observe all the feedback data and the calculated decibles (transformed feedback -80) and they are all correct.  Everything works well with the slider except the following:

1-The slider when dragged or pressed only moves in -1.0dB increments instead of -.5dB increments.  However, when the volume is changed by volume up/down commands it displays movement in -.5dB increments.

2-The slider works fine up to max volume (0dB) but when dragged or pressed will only go to -70dB at full displacement (-80dB is its full range).  However, when the volume is reduced from that point (slider at full displacement) with volume up/down commands its position jumps back to the -70dB position and then it will continue to track correctly with volume up/down commands from that point down to -80dB.

I also have the slider property set to min-0 max-80.  I have tried setting the decimals setting to 1 but the slider does not work at all then.

I would be grateful for any suggestions.

 

 

Jarrod Bell

unread,
Mar 3, 2013, 6:07:01 PM3/3/13
to comman...@googlegroups.com
Try these regex instead:

^MV(?!99)(\d{2})\x0D$

^MV(?!99)(\d{3})\x0D$

I think because you had a dot and question mark at the end, it would cause matches to occur when you didn't expect.

What command value do you have attached to the slider? If you have the min and max set with a range of 0-80 then you will of course only get 80 steps from the slider.
If you want 0.5 increments, then you need to use double that range, then use some math to get the result you are after. Set min to 0 max to 160.
Then in your command, change [sliderval] to {{[sliderval]/2:1}}


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Stan

unread,
Mar 4, 2013, 5:47:58 PM3/4/13
to comman...@googlegroups.com, jar...@commandfusion.com

Jarrod

Thanks for the feedback which resolved many issues, but the problem is not completely solved.

I did clean up the regex (too much cut and paste without reviewing the results) although the poor structure did not result in any unexpected matches.

Increasing the range from 0 to 160 solved the issue with being able to increment in -.5dB.  However the command {{[sliderval]/2:1}} does not work.  This is because my receiver is looking for either two or three digit data and never a decimal.  For example -20dB is 60 and -19.5dB is 605 not 60.5.  I therefore transformed the two digit data to (value*2) and the three digit data to (value/5).

This seemed to work fine and has the added benefit that the two digit data is always an even number and the three digit data is always an odd number.  This being the case I though the following formula would work for the slider command value:

MV{{if(([sliderval]%2)=1,[sliderval]*5,[sliderval]/2)}}\x0D

It does not and I get no response from the slider on either drag or press.  However, experimenting with the slider command a little I found the following works perfectly:

MV{{[sliderval]*5}}\x0D

With this slider tracks perfectly for both -1.0dB and -.5dB values.  Unfortunately I have no idea why this formula would work for whole decibel values.

Additionally, the slider continues to now work perfectly down to -70dB at which time it begins to jump randomly.  I have concluded this is because below this point the slider begins to send one digit data to the receiver for two digit data and conversely two digit data for three digits.  For example -70dB is 10 while -71dB is 9 and -70.5dB is 95.  The receiver is expecting 09 and 095 respectively.

Can you help me understand what is going on with the slider command formula and a possible solution to the lower numbers being sent from the slider.

Jarrod Bell

unread,
Mar 4, 2013, 5:56:36 PM3/4/13
to comman...@googlegroups.com
The math expression entry in our wiki has all the answers:
http://www.commandfusion.com/wiki2/software/gui-designer/math-expressions

{{([sliderval]/2)*10::%03.0f}}

That should be what you are after (untested). So long as the receiver will accept both 600 and 60 as identical values.


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com

Stan

unread,
Mar 4, 2013, 7:08:37 PM3/4/13
to comman...@googlegroups.com, jar...@commandfusion.com
Thanks Jarrod this works perfectly.  Any idea why my original slider command formula did not work?  Do I have an syntax error or does this type of expression not work for slider commands?

Jarrod Bell

unread,
Mar 4, 2013, 7:14:44 PM3/4/13
to comman...@googlegroups.com
Multiplying it by 5, not sure what that was trying to achieve exactly. Think your math was just wrong :)


Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


Stan

unread,
Mar 4, 2013, 7:41:26 PM3/4/13
to comman...@googlegroups.com, jar...@commandfusion.com

The formula I was questioning was this one.

MV{{if(([sliderval]%2)=1,[sliderval]*5,[sliderval]/2)}}\x0D

The multiplying by 5 was derived from the need to convert the three digit values and scale them to 160.  For example -19.5 dB from denon is 605.  To convert 605/10 = 60.5 to scale to 160…60.5*2 = 123.  Just simpler to divide by 5 – to convert back * 5.

Stan

unread,
Mar 4, 2013, 7:43:34 PM3/4/13
to comman...@googlegroups.com, jar...@commandfusion.com
Sorry = 121.
Reply all
Reply to author
Forward
0 new messages