I think I can maintain backwards compatibilty.

I'm planning on putting something in the reply to one of the players inital requests, that I can parse and recognise "hey -new style server" or not.  So I can maintain backwards compatibilty with very little code.

Time is the issue.  I don't have it right now.

- Lee Weston

Dan Conti wrote:

> -----Original Message-----
> [mailto:rioplay-devel-admin@lists.sourceforge.net]On Behalf Of Wim Lewis
> Sent: Thursday, July 15, 2004 8:01 PM
> Subject: Re: [Rioplay-devel] Tweaking rioplay
> Having looked at it a little but not actually started coding, I don't
> think it would be too hard to implement in a way that's kind of like the
> way the display handles overlays. The audio output driver would have a
> main output stream, which might be interrupted by a higher-priority
> stream. The output buffer size is pretty small so it wouldn't have to
> worry about huge amounts of latency or anything like that. To the codecs
> (etc.) these might look like multiple separate audio output devices.

There are two basic strategies here:

1) Create a mixing object, which can handle audio from multiple sources and
generates a single output; hook this output up to the audio driver

2) Do a non-mixing switch, such that audio comes from either one source or
the other; this is closer to what you are describing

The second is far easier. Still, you will have to answer things like "what
do you do if you interject a sound snippet that ends in the middle of a
buffer". If you are just doing beeping noises it's probably a non issue
since you can control the length.

On the alarm clock issue, i actually started working on this, but kinda gave
up. My idea was to do a clock-radio type of setup, where you could select
content to play when the alarm goes off. Unfortunately none of the
content-querying stuff is set up to work like that, and i had a few other
projects that were more interesting at the time.

> > My goal remains: make it work with big collections of music.
> > My Rio crashes on a bunch of menus, because my music collection
> is too big
> > (both with RioPlay and the original Rio software).
> Out of curiosity, how big is big? Tens of thousands of tracks? Millions?

The content querying stuff is pretty brain dead, and the device doesn't have
a lot of memory; if you query for "artists" the server will send it all
back, and rioplay will choke.

Personally i use[d] a perl package called mserve for serving content. It
should be easy to modify this to support query ranges, such that you do:

GET http://.../query?artist=&start=1&end=20

And then make new queries from the device for subsequent ranges as the user
steps through the menus, or as they play through a given playlist. Part of
this assumes you can do a query like:

GET http://.../query?artist=&count=1

To just get a total number of artists. But this breaks compatibility with
the protocol.

Makes me wish i had more time to work on such things. Best of luck with your
projects :)