[mythtv] Mythmusic portable device support
Duncan Palmer
dunk_palmer at yahoo.com
Sat Sep 9 11:31:05 UTC 2006
Hi,
I've been doing a bit of work on mythmusic to allow me
to sync music to a portable device (an ipod in my
case). I haven't got too far with this yet, but
have working code that allows me to export all tracks
in the active play queue to an ipod (see attached
patches against 0.19). I thought it might be a good
time to see if I can get some comments on my
approach... if people like it, I'd like to try and get
this functionality included in mythmusic eventually...
My aim in the long run is to be able to plug in a
portable device, and:
* play music from the device without having to first
import it
* export music to the device
* carry out limited management of the device (e.g.
delete music from it)
To this end, I've created a MusicStore, which
implements operations common to all sources of music:
* loading metadata from store
* exporting metadata to the store
* changing metadata in the store
* exporting new tracks to the store
The attached patches do the following:
* MusicStore and the derived class IpodMusicStore are
implemented with enough features to allow music to
be
exported to a portable device.
* A DiskMonitor has been implemented to allow
connection of removable disks to be detected (I had
to make some changes to the MediaMonitor to make
this
work, as that class is biased towards CD handling).
* DatabaseBox has been modified to add an extra button
to the active play list menu. This allows the
contents ofthe play list to be exported to a
portable
device when connected.
The ipod support requires libgpod (I'm using 0.3.2),
which in turn relies on glib( >2.8), for ipod support.
Does anyone know of other MythTv components that rely
directly or indirectly on glib?
Things I'm still working on:
1. Deleting tracks from a portable. I'm thinking of
adding a new item to the tree in DatabaseBox. This
will allow music from a portable to be selected for
playback or deletion.
2. Playing tracks from a portable. I think the best
bet
here is to treat portables in a similar fashion to
CD's as follows:
* All metadata has a store handle
* Operations specific to a store (e.g. removing
all CD tracks from AllMusic) specify the store
handle.
3. Working with non-ipod portables. Should be fairly
straighforward...
4. Ultimately, portables are very similar to CD's and
so I should be able to write a CDMusicStore to
handle CD's.
There are other small things to be done, such as
storing the portable mount point in the database,
allowing the user to configure it, and providing
proper progress reporting when exporting tracks to a
portable...
Comments or other help would be much appreciated.
Cheers,
Dunk
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mythplugins-3.patch.gz
Type: application/x-gzip
Size: 11743 bytes
Desc: 589031663-mythplugins-3.patch.gz
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20060909/d8438d2f/attachment-0002.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mythtv-2.patch.gz
Type: application/x-gzip
Size: 2169 bytes
Desc: 4149809425-mythtv-2.patch.gz
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20060909/d8438d2f/attachment-0003.bin
More information about the mythtv-dev
mailing list