Wednesday, 22 August 2007
Remote Speakers output - status update and responses to selected feedback
I've been a little distracted lately—damn you World of Warcraft—and I just wanted to take a minute to update you on my current progress with the Remote Speakers Output Plug-In and address some of the comments in the previous post regarding suggestions for 3.0. First, it appears as if winamp.com has gotten their component submission system straightened out. So I'll either be resubmitting 2.0 or waiting until I have cut 2.1 and submit that. Regardless of which version gets submitted and assuming that the submission makes it all the way through the system (*fingers crossed*), I'd like to ask that you keep an eye out and post a (hopefully positive) review; those that posted a review for 1.x please do so again if you would be so kind (cut and paste is fine). And thank you for the overwhelmingly positive reviews so far!
Which brings me to news of 2.1. I have the following issues corrected already:
- Remote control using the Keyspan Express Remote will be more solid in 2.1. 2.0 contains an error in the conversion of strings to their integer form when they are in the range between the max signed int and the max unsigned int. The error prevents remote control from working if the generated identifier falls in this range.
- Use of password-protected remote speakers will be more solid in 2.1. 2.0 contains an error in passing the Remember Password flag in the password dialog from an old configuration to a new configuration. The error causes you to be prompted for your password again on the next launch of the player if your configuration contains password-protected remote speakers and you add or remove another set.
- Write errors can be recovered from more easily in 2.1. 2.0 requires that you reconfigure the plug-in or restart the player to bring an errant set of remote speakers back into the fold. This will still apply to those that could not be connected to at all. But for those that accepted a connection and started playback but errored out for some reason (system goes to sleep for example), hitting play or unpause should restart the connection.
Next, on to addressing some of the comments left regarding 3.0. Thanks to all who took the time to post. I'll try to address the ones that are not in reference to synchronized output to multiple remote speakers and simultaneous output to local speakers because I plan to include those in 3.0 for sure and have a fairly clear idea of the requirements.
it would be awesome to support foober2000 which is the best audio player for windows IMHO
-jay
i hope u port it to other players too (foobar). i use most time that player and only winamp for this plugin (winamp is too buggy i think)
-carsten
I have briefly looked into supporting other players. Here is what I have found so far: MediaMonkey supports some of the Winamp API, so it is already supported for basic features. Windows Media Player does not have a publicly available output API, so no luck there. foobar2000 is currently undergoing a lot of change and the output API is not available for the current version; I am waiting for things to settle down. XMPlay has an API that closely resembles Winamp's so I was able to get output going in a couple of hours, but I couldn't pause without crashing the player and I didn't get as far as testing remote control and some other more advanced things. This exercise led to many questions of project structure, so I backed off. I use Winamp and am quite satisfied with it. So, for the time being, I'm going to hold off on adding support for other players.
One other nice feature would be for your plugin to accept remote # commands to change the # of stars a song gets. So if a particular song is playing in ramdom mode and you hate it, you press 0 on the remote and it gives the song 0 stars. I don't know of anything that does that.
-Albert Afonso
Great suggestion Albert. Unfortunatley, Apple has only chosen to allow the basic buttons on the remote control to generate messages to the player through the Express. If a bunch of us send Apple suggestions to implement this for iTunes, they might do so. Once the Express passes massages for all the buttons, I can tie just about any behavior in the player to them.
I would love it if you can do a standalone box in winamp like the "multiple speakers" choice in Itunes so that i can tick or untick speakers from the 10 airports i have in our house when i move around! now you have to first go in and check the new speakers, then go in and untick the old pair one more time, you cant do it in one go.
-Lasse
Another great idea. I have shyed away from directly copying the interfaces in iTunes and Airfoil to keep from getting sued. Would it be sufficient if I modified the current configuration dialog (not the submenu) to be modeless (does not prevent interaction with player window) and have an Apply button so you could keep it up and select/deselct to your heart's content during playback?
If the plugin could perform lossless compression of the signal before sending it to the AirPort that would be great, too. I get the occasional dropout - about once every 8 hours - which I suspect would be resolved if the data stream were cut in half.
-Sunspot
lossless compression would be great, but I don't think this depends on the plugin, does it? The airtunes expects audio in a certain format, correct??
-mhottie
True, the AirPort Express expects AppleLossles audio data. However, what might not be obvious is that there are at least two formats of AppleLossless data: compressed and uncompressed. Currently the plug-in uses the uncompressed format. So there is still potential to reduce the network load (in favor of more CPU load) if I could find (or *shudders* build) an AppleLossless encoder that can produce the compressed format. The savings would not be quite half, but might be enough to prevent cut-outs for some of you. Drop me a line if you know of an open-source AppleLossless encoder out there.
it would be great if it would be possible to stream wma files too. since i have a bench of radiostreams (eg bbc) in wma, it's a mess not beeing able to stream them to my airport express
-claudius al-musafir
Check the FAQ for more details on this one. The problem is in your WMA input plug-in. There are alternatives that pass streamed audio to the output plug-in rather than directly to the sound card. Who is this DRM junk for anyways?
I'm using a notebook - and it's not the most convenient to go through the preferences menu to change the output-plugin when ever I want to listen to music not at home.
-claudius al-musafir
I am on a laptop and it is a huge pain changing plug ins every time I leave the house. An option to essentially turn off network streaming on the fly wold be most useful.
-superkrad
I think I'll need a little more detail on your needs before I attempt to address this one. I wish you had dropped me an email or left a means for me to contact you, which leads me to another point: Before posting a comment of complaint here or on winamp.com, I wish you would send me an email first. I try to receptive to your comments/criticisms and do my best to fix any issues that you run into with the plug-in. I can of course remove "bad" comments from here, but once the bad review is up on winamp.com, it stays there even if I happen to fix your issue.
What would get me to upgrade in a heartbeat is a "no silence" option. When using a digital connection to the AirPort, my h/k receiver takes a second to sync up when transitioning from silence to a signal. Even the brief gap between tracks is enough to prompt this behavior. As a result, the first fraction of a second is being cut off of every track on playback, which can be VERY annoying.
-Sunspot
Sounds like the function of a DSP plug-in. Check winamp.com to see if one exists already. If not, I have seen postings in the forum for DSP plug-ins that trigger an action upon detecting silence, it wouldn't take too much effort for one of those developers to have it replace the silence with a low-level signal as you describe.
A way of simulatenously directing different music sources to different sets of remote speakers would be nice. ie taking the plugin in the same path as airfoil, sort of
-strom
I think you can run multiple instances of Winamp with the plug-in to achieve this. I don't really see this as a plug-in feature since the player only plays one track at a time.
Well, that's about it for now. Please, keep the comments and emails coming. Besides adding synchronized output for multiple remote speakers to the plug-in, I am satisfied with it. (And I use it every day!) So, if you want something besides that added in, you'll need to make your wishes known.