Wednesday, 26 December 2007

Seasons Greetings

Merry X-Mas and a happy New Year to all! Just a couple housekeeping items to notify you about. First, I updated the web site a bit to have a more consistent look, be XHTML 1.1 compliant and best of all to be ad free. The Google ads never panned out quite like I had hoped, so I figured it was better to remove them completely.

Next, winamp.com finally published Remote Speakers output v2.1. It has been quite a journey going from version 1.x to 2.x. And getting winamp.com to accept is another major milestone. So let me just take a moment to say thanks to all those who downloaded version 1.x from winamp.com and a special thanks to the few of you who left reviews. For the most part, feedback has been highly positive. Hopefully this trend will continue with the new version.

Finally, I wanted to let all of you know that work towards version 3.x will begin again on January 1st. The first, and most requested, feature I will be tackling is synchronized output to multiple remote speakers. I'm not sure how long it will take to complete this work, but I just wanted to let all of you who have purchased the unlimited major version upgrade license know that I haven't forgotten you.

See you in the new year!

Posted by emilles at 8:50 AM in Software

Sunday, 30 September 2007

Remote Speakers Output Plug-In 2.1

After a little bout with disaster recovery, I'm back up and running with a new release of the Remote Speakers Output Plug-In for your enjoyment. This version features the small fixes to password memory, remote control and reconnection after sleep as mentioned in the last entry. Plus I made the settings dialog a floating window so you can keep it up and make changes to the set of output speakers more easily as you move throughout the house. I also added a Preferences... menu item to the Remote Speakers submenu so you can reach this floating window easily. Have fun with it, let me know if you run itno any issues and happy listening.

Cheers,
Eric

Posted by emilles at 11:34 AM in Software

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.
If there are any other minor issues you are experiencing with 2.0, please send me an email or post a comment here (preferably with a means to get in touch with you). I'd like to correct all outstanding minor issues if I could before cutting 2.1.

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.

Posted by emilles at 4:07 PM in Software

Sunday, 3 June 2007

Thoughts on Remote Speakers Output Plug-In 3.0

I had been waiting until after Remote Speakers output v2 was published on winamp.com before posting an update on the current state of affairs. But with Nullsoft's site redesign clearly taking priority over reviewing new plug-in submissions, I feel I can no longer wait on them and have decided to go forward with planning for the next major version of the plug-in. Incedentally, thanks to all who have purchased a license for version 2.0. Reaction to it has been very positive, which is encouraging.

I have a few ideas already for the next major release of the Remote Speakers Output Plug-In, many of which came from user suggestions—here they are:

  • Synchronize output to multiple remote speakers
  • Build in support for simultaneous output to local speakers
  • Compress audio stream to lessen network bandwidth usage
  • Provide separate volume control for each remote speakers base station
  • Display indicators of remote speakers audio jack status, password protection status and whatever else might be useful
  • Add support for IPv6
  • Internationalize (i.e. support multiple languages)
  • Retool installer so that it can install to all supported players at once
  • Add support for other players...which ones?

This is by no means a list of items that will go into the next release, nor is the list closed to new additions. If you are really interested in having one or more of the items on this list make the 3.0 release or if there is something you want that is not on this list, please post a comment here. With your suggestions in mind, I will formulate a plan shortly and post an update here.

Posted by emilles at 11:42 AM in Software

Wednesday, 4 April 2007

Remote Speakers Output Plug-In 2.0

Well, I guess July came a little early! As it turns out, I was able to achieve all of my goals for the next major version of my AirTunes plug-in for Nullsoft Winamp and Ventis Media MediaMonkey in a much shorter timeframe than I had originally anticipated. So, here I am announcing the new release of the Remote Speakers Output Plug-In. Included in 2.0 are all of the following new features:

  • Support for streaming audio to multiple Apple AirPort Express base stations simultaneously
  • Support for Keyspan Express Remote control
  • Support for 8, 24 and 32 bits per sample on input
  • Support for multi-homed (more than one network interface) workstations
  • Upgraded OpenSSL library to 0.9.8e

As I noted in my previous post, this version of the plug-in is not free (as in lunch). A significant amount of effort was required on my part to develop the features listed above and I have plans for quite a few more improvements. Therefore, I am asking for $10 US for activation plus unlimited minor version upgrades (i.e. 2.0, 2.1, 2.2, ...) or $25 US for activation plus unlimited major version upgrades (i.e. 2.0, 2.1, ..., 3.0, 3.1, ...). And I have instituted a licensing and registration system to enforce this policy. I have carefully chosen a system that does not interfere with your ability to test out the plug-in without having to purchase and does not bother you once you have purchased.

However, contrary to my previous post, the plug-in will remain free (as in freedom) and open-source. I did not come to this decision lightly, so I would ask that all of you respect this gesture as a means for me to share information and not as a means for you to avoid payment. Thanks to those of you who expressed your opinion on this subject.

Enjoy Remote Speakers output v2!

Cheers,
Eric

Posted by emilles at 8:48 PM in Software

Friday, 23 February 2007

News regarding Remote Speakers output v2

First of all, thank you to everyone for sending me your suggestions for the next version of my AirTunes plug-in for Nullsoft Winamp and Ventis Media MediaMonkey. I wanted to let you know that I have settled on a feature set and given myself a target release date for motivation. Features to be included in version 2.0 of the Remote Speakers Ouptut Plug-In:

And I am going to try and deliver on these features by the end of July. Also, this version of the plug-in will not be free or open-source, which is a significant change from version 1.x. For those of you who have already donated or wish to donate to my cause before the release date, I will upgrade you to version 2.0 at no extra charge. For those of you who wish to wait, I cannot guarantee that the price of version 2.0 will be equal to the current donation amount—I have not made that decision yet.

Finally, if you are interested in helping thoroughly test out one or more of the features above, drop me a line. See you all in July!

NOTE: Many of you requested that I add support for streaming to local speakers and remote speakers simultaneously. I did take the time to consider your requests and do view that as an important usage scenario. However, I still must defer to the Multiple Output Plug-In by Ioannis Epaminonda. I would merely be implementing a subset of the features in his plug-in and he has been a great help to me in developing the menu system of the Remote Speakers Output Plug-In, so I don't want to go there. I hope you understand.

Posted by emilles at 9:51 AM in Software

Tuesday, 6 February 2007

Remote Speakers Output Plug-In 1.2

Another set of fixes is ready to be released for my AirTunes plug-in for Winamp. Get the latest incarnation of the Remote Speakers Output Plug-In and enjoy the magic. The biggest changes in this release are a deadlock fix when an error is encountered during playback and final prep work for Keyspan Express Remote support. On that note, if there is anyone out there that has an Express Remote, let me know if would like to help me test out a development version of the plug-in that supports the remote control. I have finished implementing support for it and am currently testing and doing final integration.

Posted by emilles at 10:20 PM in Software

Thursday, 25 January 2007

Remote Speakers Output Plug-In 1.1

The time has come to release several bug fixes and minor changes that I have been accumulating since version 1.0 was cut in late October of last year. Pick up the latest version of my AirTunes plug-in for Winamp and MediaMonkey and let me know if you run into any problems.

Work continues on version 2.0. I have a Keyspan Express Remote in my possession now and I have worked out most of the details of the protocol. There are a lot of little things to do to add support for remote control, but I should have something ready by the end of February. When I am finished, I will need a couple testers. So if you have an Express Remote and would like to help out—and get an early preview of version 2.0—drop me a line.

Posted by emilles at 2:35 PM in Software