[mythtv] Mythmusic Replacement

Thor mythtv at lamedomainname.com
Sun Dec 12 21:42:40 UTC 2004


On Dec 12, 2004, at 7:24 AM, Borg wrote:

> Well, not much has changed in that time.

	Not in release, no. But I encourage you to look at CVS of mfd and mfe.

> 		A) Master backend server - main purposes:
> 			Delivers music to requestors either streaming or the entire files /
> albums / playlists, etc.
> 			Delivers music lists to requestors - one level at a time.  No need 
> to
> deliver all 4000 available songs, when the person really just wants to 
> play
> a single album that they listen to regularly.
> 			Keeps track of stats - how many times played, etc.
> 			This guy is the only one that accesses the database, so it must 
> handle
> all database type requests (Save playlists, update playlists, retrieve 
> song
> / music info).

	mfd does all of this. It can exchange metadata using either DAAP (same 
protocol iTunes uses) or MDCAP (protocol I wrote that does everything 
DAAP does, plus lets you send changes in metadata etc).


>
> 		B) Player Daemon
> 			Plays music.  Requests next songs from Master Backend.  Accepts a
> playlist from gui's.  This runs in background and thus can play music 
> while
> doing other things.  Can output to 2nd second card or multiple sound 
> cards.
> Can be controlled by any GUI on any machine.

	mfd does this. Audio plugin speaks a simple telnet-ish protocol (play, 
pause, stop, etc.).


>
> 		C) GUI's
> 			Multiple's of these, Windows, Linux, Myth plugin.  Pretty simple 
> devices.
> Provides controls for controlling the player Daemon (Play, stop, pause,
> etc).  Navigate through music lists via communication with Master 
> Backend
> Server.

	See mfe. Automagically finds any mfds on the local LAN, exchanges 
metadata with them, and presents a user interface to play music and 
construct playlists. Built using a library (libmfdclient) that does the 
hard part of finding the mfd, exchanging metadata, sorting and 
preparing it all in separate threads from the main GUI.

	A long way from done, but skeleton is there. Main thing holding me up 
at the moment is I'm trying to get enough of the new libmythui stuff 
finished so that the mfe can be re-written to use that.

>
> 		D) More advanced Linux / Windows music collection controller - want 
> to
> burn music, modify playlists, import music, etc - things outside of the
> typical tv appliance arena.  Things more quickly and easily handled in 
> a
> typical pc application environment.
>

	Nothing like that yet.

> 	- Make the playing of music easy, fast and enjoyable.
> 	- Greatly speed up the responsiveness of the system.  I have a large
> collection and when I first go into mythmusic now it takes a long time 
> to
> load info about entire collection.  Not necessary when all I want to 
> do is
> listen to one specific album.  I should be able to very quickly 
> navigate
> through a tree to get there.

	See mfe. Only thing happening in the GUI thread is user navigation of 
the data. All playing, data exchange, parsing, etc happens in other 
threads.


> 	Be able to play music while watching tv, scheduling things, etc...

	Can aleady do that. Control any mfd from any mfe (with auto 
discovery). Control audio from any browser 
(http://host_mfd_is_running_on:2345/).

>
> Once again not knocking anything already done, just see an opportunity 
> to do
> make improvements and it seems there are others out there as well with
> similar ideals.

	As I've said elsewhere, I don't want anyone waiting for me. If you 
want to write against existing mfd/mfe code, great. If you want to take 
ideas from there and implement something new, superb. If you want to 
write a better, faster, stronger system from scratch, more power to 
you. Just wanted to let you know there's some code there you might want 
to look at.

- thor



More information about the mythtv-dev mailing list