Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 5 FirstFirst 1234 ... LastLast
Results 11 to 20 of 44
  1. #11
    Quote Originally Posted by Aesculus View Post
    OK. If Pippin sends us a beta iPeng we can give it a try.

    Do you think we need to have an option for people to ask us to support this? ie in my last attempt I had a setting to indicate they wanted to support volume passthrough.
    I'm having trouble imagining why someone would want iPeng & similar apps not to recognize that we could handle external volume commands -- do you think someone might actually want not to have the option of using iPeng, Controller, web UI, etc. to change their amp volume? That they'd want to force themselves to use the knob or Denon IR remote?

    Thanks for the logs -- they're very helpful. I'm not worried about power off -- clearly my plugin didn't think it should send PWSTANDBY, and that should be an easily fixed bug. I'm more concerned about the reactions to the MV? and SI? queries. At first glance, it looked like your amp gave no response to the MV? sent around 20:55:28.4048. But volume info shows up in the response to SI? -- which means I probably just didn't wait long enough to get the response to MV?. This should be pretty easy to work around. The default timings are based on my timed observations of RS232 commands; I probably just need to tweak them a bit for TCP-based control. You're very lucky to have async HTTP to work with; making synchronous TCP connections is a bear in the single-threaded SBS app. Everything is a tradeoff between reliability and responsiveness with synchronous I/O. :-(

    Thank you!!
    owner of the stuff at https://tuxreborn.netlify.app/
    (which used to reside at www.tux.org/~peterw/)
    Note: The best way to reach me is email or PM, as I don't spend much time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  2. #12
    Senior Member Aesculus's Avatar
    Join Date
    Jan 2008
    Posts
    414
    MV? does work as I use it and it does take some time. Plus you get other things back than just the volume.

    Code:
    0025: [10-01-25 21:55:19.6595] Plugins::DenonAvpControl::DenonAvpComms::writemsg (299) Sent AVP command request: MV?
    
    0027: [10-01-25 21:55:19.6962] Plugins::DenonAvpControl::DenonAvpComms::_read (347) Buffer read 
    0028: MV40
    MVMAX 675
    I need to review your code because I am overunning the protocol at times and I tried to put delays in but they were not successful. I will steal some of your ideas :-)
    Chris

  3. #13
    Quote Originally Posted by Aesculus View Post
    MV? does work as I use it and it does take some time. Plus you get other things back than just the volume.
    Sometimes the amp behaves like somebody who has no friends. You ask it one simple thing and it bombards you with all the details of everything that's happened since you last called it. User tweaked Audyssey or maybe the gain on the front left speaker? Well, I know you only asked what the current source input is, but let me tell you this other stuff too. At 9600 bits/second. Gee, thanks. ;-)

    I need to review your code because I am overunning the protocol at times and I tried to put delays in but they were not successful. I will steal some of your ideas :-)
    Please help yourself. I'm heavily relying on the scheduler code that Andy G once recommended to me as a good way to split up small tasks & preserve overall SC/SBS responsiveness.
    owner of the stuff at https://tuxreborn.netlify.app/
    (which used to reside at www.tux.org/~peterw/)
    Note: The best way to reach me is email or PM, as I don't spend much time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  4. #14
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,781
    Quote Originally Posted by peterw View Post
    two changes:
    1) the notification must use an existing CLI command name, so the notification here uses the same name as the CLI command that's used to request info
    2) I added another argument to the notifications -- a string naming the plugin that provides the external volume control

    Obviously usingDenonSerial() is a method I wrote (already had it) to report true if a given player used my plugin for external amp/volume control, and you'll need to replace this with your own logic.

    If this works OK, I'd be happy to take a stab at a patch for IR Blaster -- hopefully Felix will be amenable to including that in a new release. If this doesn't work well, no need to bother him. :-)

    [code]# --------------------------------------- external volume indication
    Slim::Control::Request::notifyFromArray($client, ['getexternalvolumeinfo', 1, 1, &getDisplayName()]);
    So how's this supposed to work on the CLI now? Do I just send a "getexternalvolumeinfo" to the player object? Or does it add a tag to "status"?
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  5. #15
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,781
    OK, first read, the write...
    I have to subscribe to the notification and then send a "getexternalvolume" command to the player and will receive a notification from each plugin that will include the player id for which this is valid, right?

    Getting nothing or "getexternalvolume 0 x" means: use "digitalVolumeControl" as is
    Getting "getexternalvolume 1 0" means: up/down volume control available
    Getting "getexternalvolume 1 1" means: full volume control

    I'll add this to an iPeng beta.

    Peter, do you have an iThingy? I seem to remember: no?
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  6. #16
    Senior Member Aesculus's Avatar
    Join Date
    Jan 2008
    Posts
    414
    Quote Originally Posted by pippin View Post
    OK, first read, the write...
    I have to subscribe to the notification and then send a "getexternalvolume" command to the player and will receive a notification from each plugin that will include the player id for which this is valid, right?

    Getting nothing or "getexternalvolume 0 x" means: use "digitalVolumeControl" as is
    Getting "getexternalvolume 1 0" means: up/down volume control available
    Getting "getexternalvolume 1 1" means: full volume control

    I'll add this to an iPeng beta.
    Thats the way I understand it plus we would return the plugin name at the end if you cared.
    Peter, do you have an iThingy? I seem to remember: no?
    This sounds like a personal question.
    Chris

  7. #17
    Pippin, that's right. I don't think you'd ever see an initial 0 -- all a plugin can know is that *it* doesn't provide external volume control, so it's probably best for plugins only to give info about players they control external volume for. This does mean the user would have to restart iPeng after disabling an external volume control plugin (or changing significant preferences, e.g. disable volume passthrough) in order for iPeng to change its interface, but I think that's reasonable, as that will be a very rare event. And your recollection is correct, I don't have an iPhone/iTouch.
    owner of the stuff at https://tuxreborn.netlify.app/
    (which used to reside at www.tux.org/~peterw/)
    Note: The best way to reach me is email or PM, as I don't spend much time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  8. #18
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,781
    Peter,

    while trying to experiment with this I don't get feedback by the server anymore as soon as I enable your plugin, instead it logs
    Code:
    [10-01-27 03:14:37.5364] Slim::Control::Request::execute (1942) Error: While trying to run function coderef [Plugins::DenonSerial::Plugin::getexternalvolumeinfoCLI]: [Undefined subroutine &Plugins::DenonSerial::Plugin::name called at /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/DenonSerial/lib/Plugins/DenonSerial/Plugin.pm line 1354.
    ]
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

  9. #19
    Quote Originally Posted by pippin View Post
    while trying to experiment with this I don't get feedback by the server anymore as soon as I enable your plugin, instead it logs
    Doh, sorry! Please upgrade to 0.1.32 to have that fixed, which I just tested again on my system with 7.4 trunk.
    owner of the stuff at https://tuxreborn.netlify.app/
    (which used to reside at www.tux.org/~peterw/)
    Note: The best way to reach me is email or PM, as I don't spend much time on the forums.
    Free plugins: AllQuiet Auto Dim/AutoDisplay BlankSaver ContextMenu DenonSerial
    FuzzyTime KidsPlay KitchenTimer PlayLog PowerCenter/BottleRocket SaverSwitcher
    SettingsManager SleepFade StatusFirst SyncOptions VolumeLock

  10. #20
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    14,781
    Quote Originally Posted by peterw View Post
    Doh, sorry! Please upgrade to 0.1.32 to have that fixed, which I just tested again on my system with 7.4 trunk.
    OK, that works now.

    A few other observations:
    1. The usual "encoding mess", probably not your fault but SBS's: Of the two "1"s you are sending, the first one is being encoded as a string, the second one as a number ("1" vs 1).
    I can live with it, SBS always does this, it even sends "text" strings as numbers if they just contain numerals...

    2. "getexternalvolumeinfo" is not player specific, right? I'm trying to get my head around how to best capture this without causing too much traffic and without "forgetting" players. Right now, I subscribe to the notification per player and then whenever I see a new player I send a "getexternalvolumeinfo" command which the triggers the notifications. However, I get them for _every_ player, not just the one I send the command to.

    Background: I don't just use "listen 1" to get the notification, I subscribe to the individual notification (you can do that through cometd, no idea about the CLI). After doing that, you can trigger the notifications by issuing a "getexternalvolumeinfo" command.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com
    New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •