INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Omnifi DMP1 support  (Read 1962 times)

Magicland

  • Regular Member
  • World Citizen
  • ***
  • Posts: 137
  • Gabba Gabba Hey!
Omnifi DMP1 support
« on: March 14, 2005, 12:31:30 pm »

For those not familiar with it, the Rockford-Fosgate Omnifi DMP1 is basically a 20 gig hard drive which connects to your car stereo via an aux input, and has a display/interface to control playback. MediaCenter supports (or is in the process of supporting) the DMS1, a music streamer from the same product line. Both devices are supposedly UPNP. The software which comes with them, SimpleCenter, is pure crap. It's written in Java, is slow and buggy as hell. Obviously, some way to manage the DMP1 via MediaCenter would be great, especially as several thousand of these have recently been liquidated by Woot, meaning there are several thousand new customers actively seeking a better solution.

Basically all SimpleCenter does is copy the files to the DMP1 (which shows up just fine as a drive under windows) in a folder called "content", renaming them (such as "1c490697.trm") via some scheme. It then places or updates an index file (such as "173ddf13.000") in a folder called "db", which is an ascii file similar to some sort of HTML (the examples I gave are not necessarily related). The content of one of these file is:
Code: [Select]
<upnp:BrowseResponse xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
<Result>
<DIDL-Lite>
<container id="9517595c" parentID="9517595b" childCount="16" restricted="true" searchable="false">
<dc:title>Chuck</dc:title>
<res></res>
<upnp:class>object.container.album.musicAlbum</upnp:class>
</container>
</DIDL-Lite>
</Result>
<NumberReturned>1</NumberReturned>
<TotalMatches>1</TotalMatches>
<UpdateID>0</UpdateID>
</upnp:BrowseResponse>
Apparantly that's an index to an album, the filename of which is "9517595b.000". The index to the songs, named "9517595c.000" contains:
Code: [Select]
<upnp:BrowseResponse xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
<Result>
<DIDL-Lite>
<item id="f1cba6a1" parentID="9517595c" restricted="false" refId="f1cba69f">
<dc:title>Some Say</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="5045131">file://usr/content/f1cba69f.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cdf096" parentID="9517595c" restricted="false" refId="f1cba6a4">
<dc:title>Open Your Eyes</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4056455">file://usr/content/f1cba6a4.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cba697" parentID="9517595c" restricted="false" refId="f1cba695">
<dc:title>I'm Not The One</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="5247640">file://usr/content/f1cba695.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cba69c" parentID="9517595c" restricted="false" refId="f1cba69a">
<dc:title>Welcome To Hell</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="2898500">file://usr/content/f1cba69a.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cdf0a5" parentID="9517595c" restricted="false" refId="f1cdf0a3">
<dc:title>No Reason</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4526654">file://usr/content/f1cdf0a3.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cdf0aa" parentID="9517595c" restricted="false" refId="f1cdf0a8">
<dc:title>Slipping Away</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="3686560">file://usr/content/f1cdf0a8.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cdf09b" parentID="9517595c" restricted="false" refId="f1cdf099">
<dc:title>88</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="6801181">file://usr/content/f1cdf099.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cdf0a0" parentID="9517595c" restricted="false" refId="f1cdf09e">
<dc:title>Subject To Change (bonus)</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4800015">file://usr/content/f1cdf09e.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c6c479" parentID="9517595c" restricted="false" refId="f1c6c477">
<dc:title>Angels With Dirty Faces</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="3537359">file://usr/content/f1c6c477.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c9357e" parentID="9517595c" restricted="false" refId="f1c9357c">
<dc:title>The Bitter End</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4223221">file://usr/content/f1c9357c.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c47a7f" parentID="9517595c" restricted="false" refId="f1c47a7d">
<dc:title>Pieces</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4465211">file://usr/content/f1c47a7d.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c6c474" parentID="9517595c" restricted="false" refId="f1c6c472">
<dc:title>Moron (bonus)</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="2978746">file://usr/content/f1c6c472.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cba68d" parentID="9517595c" restricted="false" refId="f1cba68b">
<dc:title>Intro</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="1209517">file://usr/content/f1cba68b.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1cba692" parentID="9517595c" restricted="false" refId="f1cba690">
<dc:title>Noots (bonus)</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="5646998">file://usr/content/f1cba690.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c93583" parentID="9517595c" restricted="false" refId="f1c93581">
<dc:title>We're All To Blame</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="5357357">file://usr/content/f1c93581.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
<item id="f1c93588" parentID="9517595c" restricted="false" refId="f1c93586">
<dc:title>There's No Solution</dc:title>
<res protocolInfo="file:*:audio/mpeg:*" size="4855180">file://usr/content/f1c93586.trm</res>
<upnp:artist>Sum 41</upnp:artist>
<upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item>
</DIDL-Lite>
</Result>
<NumberReturned>16</NumberReturned>
<TotalMatches>16</TotalMatches>
<UpdateID>0</UpdateID>
</upnp:BrowseResponse>
Obviously, if one of you smart programmer types could figure out the way the files are named, it doesn't seem like it'd be very difficult to get MediaCenter to handle adding and removing files from these devices...
Logged

Magicland

  • Regular Member
  • World Citizen
  • ***
  • Posts: 137
  • Gabba Gabba Hey!
Re: Omnifi DMP1 support
« Reply #1 on: March 14, 2005, 02:10:08 pm »

Actually, someone already has made a program which extracts and converts the filenames on the Omnifi hard drive. We need a plug-in which will do the opposite, though apparantly if the container file points to the original MP3 filename instead of the encoded one, it'll work just fine as well. Extractor and source code for it can be found here http://members.cox.net/omnifiuser/

Basically, MediaCenter would just need to copy the files to the "usr/content" directory on the DMP1, and construct (or update) the appropriate files in the "usr/db" directory. No real need to change any filenames, and just simple ascii text files being written. Surely somebody can manage this on their lunch hour, no?
Logged

Magicland

  • Regular Member
  • World Citizen
  • ***
  • Posts: 137
  • Gabba Gabba Hey!
Re: Omnifi DMP1 support
« Reply #2 on: March 23, 2005, 12:34:28 am »

Guess not... I'll just talk to myself then. Here's an even better "head start" http://members.cox.net/omnifiuser/dmp1tool/  It encodes the names and transfers the songs. Free, Open source, ready to be stuck into a plugin for Media Center by someone who knows how to do so.
Logged

Mike Noe

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 792
Re: Omnifi DMP1 support
« Reply #3 on: March 23, 2005, 05:34:20 am »

I'll take a look but I won't promise anything right away, you're right, this would be a fairly simple thing to accomplish.  I've checked into the Omnifi et al to mount in my truck and it appears to do everything I need; however, I've recently begun investigating installing a mini-ITX system in the truck with a touchscreen and a WAP....
Logged
openSUSE TW/Plasma5 x86_64 | Win10Pro/RX560
S.M.S.L USB-DAC => Transcendent GG Pre (kit) => Transcendent mono OTLs (kit)
(heavily modded) Hammer Dynamics Super-12s (kit)
(optionally) VonSchweikert VR8s

John Gateley

  • Citizen of the Universe
  • *****
  • Posts: 4957
  • Nice haircut
Re: Omnifi DMP1 support
« Reply #4 on: March 23, 2005, 11:12:00 am »

Sorry,  I missed this thread the first time around (9 days ago).

The xml code you're asking for is just UPnP. They're generating the UPnP for the entire database, saving it in files, and the DMP1 is reading the files instead of querying a server.

I don't have any time to spend on this, but someone with UPnP experience should be able to create a client that does this pretty easily. It would just be a tree walk of the database, saving the results in the files.

j
Pages: [1]   Go Up