Not logged in. · Lost password · Register
Forum: Digital Audio Players Rio Players RSS
The Karma nested playlists thread.
Using jEmplode to create Soups
Avatar
RubenNYC #1
User title: vibez junkie
Member since Jul 2006 · 1042 posts · Location: North Jersey
Group memberships: Members
Show profile · Link to this post
Subject: The Karma nested playlists thread.
Just wanted to get this copied over before we lose it:


"hey wow! karma DOES support nested playlists-redux"

And I don't mean the OTF Playlisting as discussed a year and a half ago.  I mean real nested playlists.  Not to mention soups, aka "Smart Playlists", built on whatever search criteria you can think of.

Ok, looking at the dates of the relevant threads on the empeg board I realize this is really really really old news, but it's brand new to me.

I did a bunch of searches over at Forums-Riovolution.com but only found one vague mention of it by mschrag, but nothing definitive.  And since this introduces a whole new way of organizing and listening to music on my 2.5 year old Karma and is making me oh so happy, I couldn't help post a brand new thread about it.

Now, there are a bunch of caveates, but for the adventurous nested playlists and soups are very fucking cool.

Read THIS and THIS before taking the plunge.

When I get home from work tomorrow, I plan on uninstalling RMM and hope to never use it again.  My new plan will likely be to use WinAmp or Foobar for managing my music library on my PC and jemplode for transfering tunes to the Karma.

happy happy happy joy joy joy


jemplode is the precursor to RMML: A java app for managing the songs already on the Empeg/Rio Car/Rio Karma.  While RMML is easy to use, jemplode is very powerful.  From what I understand, RMML and jemplode still share a good chunk of code.

A "Soup" is a custom auto-updating smart-playlist that you can create based on any kind of search criteria you can think of involving tags.  For example, I created a soup of all tracks that have "alt", "prog", "punk" or "goth" in the genre tag grouped ("layered") by Genre, then by Artist, then by Album, then sorted by track number. 

So how does this look on my Karma?

Play.Music
..Playlists
....My.Soup.Playlist
......Genre.1
.........Artist.A
...........Album.AA
.............Track.1
.............Track.2
.............Track.3
...........Album.AB
.............Track.1
.............Track.2
.............Track.3
.........Artist.B
...........Album.BA
.............Track.1
.............Track.2
.............Track.3
...........Album.BB
.............Track.1
.............Track.2
.............Track.3
......Genre.2

etc.


So the Karma allows you to play the entire Nested Playlist or any subset of the playlist such as a particular genre, artist, album or track.  And because of the Track sort order I included when I created the Soup, I'm guarantee that all the albums will play in the correct order.

According to mschrag, the contents of the Soup get updated whenever you synch the Karma using jemplode, but haven't had a chance to test that yet.

I'm avoiding using RMM at all as that might deliberately flatten my nested playlist.


First a major disclaimer:  I have no idea what impact this might have on the integrity of the Karma's database, so be prepared to empty and re-load it if anything goes wrong. 

As I understand it, this appears to work mainly because the Karma's firmware has its roots in the original Empeg/RioCar.  But since the devs apparently did not explicity write in support for nested playlists, you'll want to be able to start over reload all your music if need be.

So here's what I did:

Running jEmplode

*Download Jemplode.jar and rmml.jar to the same folder on your hardrive. I put mine in C:\Program Files\Rio\RMML\

RMML.jar - https://rmml.dev.java.net/files/documents/1...250/rmmlite.jar
Jemplode.jar - http://www.jempeg.org/current/jemplode.jar

*Connect an ethernet cable to your dock.
*Disconnect the USB cable from the dock.  I find the USB connection to Windows can cause jEmplode<->Karma database lock errors when trying to synch.
*Dock your Karma. 
*If you haven't already, make sure to give it a network password. Menu Button -> Settings -> Network -> Password
*Write down the Karma's IP address.  If you have it set to DHCP, you can get the current IP from Menu Button -> Settings -> Network -> Current Lease.
*Launch jemplode.jar (you can double click it or use Start -> Run).
*When it starts up, it should find your Karma on the network.  If not, click the Options button and enable "Network Broadcast". (Ignore the USB option, I have yet to get that to work.) Select your Karma and click OK.
*In a few moments, you should see jemplode download and display the contents of the Karma's database.

Querying Tracks & Building Soups

*Once jEmplode has loaded your Karma's database, select the "Search" tab in the upper left under the toolbar.
*If you only want to search for a single Title, Artist, Album, Genre or Year, you can use the text boxes provided.  Otherwise, use the "Advanced Search" option.
*Assuming you went with advanced, you'll want to review the Queries and Tag Names page.  In my case, I wanted anything with "alt," "punk," "goth" or "ind" in the genre.  So my query looks like this: genre like "alt" or genre like "goth" or genre like "punk" or genre like "ind".  Then click the Search button to see the results.
*If you're happy with the results, click the "Save" button.
*This should bring up the Soup Editor dialog box, with the text of your query as the first entry.  Here's where you get to build the layout of your nested/layered playlist. 
*First, give your Soup a name.
*Near the bottom, select "On the Empeg" (In this case, "the Empeg" is your Karma).
*Then start building.  To build the example from my earlier post I did the following:
*Click Add Tag Layer
*Select "Genre" in the top drop down box.  Leave the "Sort by" as "Title".  Click OK. It's weird but I read that the Sort By here should always be Title.
*Click Add Tag Layer a 2nd time.
*Select "Artist" in the top drop down box.  Leave the "Sort by" as "Title". Click OK.
*Click Add Tag Layer a 3rd time.
*Select "Album" in the top drop down box.  Leave the "Sort by" as "Title". Click OK.
*Click Add Tracks Sort Layer
*Set the "Sort By" to "Track #" and Click OK.
*Back at the main jEmplode screen, select the "Transfer Details" tab and click the "Transfer" button.
*When you're done, close jEmplode before you undock you Karma.
*On your Karma, click Play Music / Insert / Append -> Playlists and start drilling down through your nested playlist.  At each layer, you'll have the option to "Play all tracks".  This will play all the layers you see in that screen and all their sub-layers.

Sorry, I didn't post any screenshots, but hopefully this will be straightforward enough.

Links:
RMML.jar - https://rmml.dev.java.net/files/documents/1...250/rmmlite.jar
Jemplode.jar - http://www.jempeg.org/current/jemplode.jar
jEmplode/RMML's Queries & Tag Names - http://www.jempeg.org/QueriesAndTagNames.html


It looks like RMM is still the best way to upload tracks to the Karma. Whatever you do, do not try to edit any of your Soup playlists in RMM, RMML or on the Karma itself.

Edit: I forgot to mention jEmplode supports drag and drop from Windows Explorer. Only thing is it will allow duplicates.


Enjoy.

Edit: Added a line about disconnecting the USB cable in the how-to section.
This post was edited on 2006-07-17, 07:57 by RubenNYC.
Avatar
LycoLoco #2
User title: Your Lord and Master
Member since Jul 2006 · 962 posts · Location: Boone/Charlotte, NC
Group memberships: Members
Show profile · Link to this post
So lemme get this straight. After you load a soap (or what I call a smart playlist) you not only have a nested playlist to listen to but also a dynamically changable playlist that divides itself into subcategories? I'd love to try this, I just haven't ever used the ethernet port on the Karma before. Could you possibly take some pictures of this in action on the Karma?
[Image: http://img175.imageshack.us/img175/840/publiconml3.png]
"Apple is like the cool, popular blonde girl at school. Who wears expensive clothing that's easily stained. And is a slutbomb." - Flatty

<macky> i think LycoLoco is drunk

[Image: http://www.xboxlc.com/cards/sig/red/LycoLoco.jpg]
Avatar
RubenNYC #3
User title: vibez junkie
Member since Jul 2006 · 1042 posts · Location: North Jersey
Group memberships: Members
Show profile · Link to this post
Soup query: genre like "alt" or  genre like "goth" or genre like "prog" or genre like "ind"
Layered by: Genre -> Artist -> Album
Tracks ordered by: Track #

Starting from the running playlist view, I click the wheel and choose append, then:

[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2397.jpg]
[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2398.jpg]
[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2400.jpg]
[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2401.jpg]
[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2403.jpg]
[Image: http://img.photobucket.com/albums/v181/rubennyc/KarmaSoups/IMG_2404.jpg]

My apologies for the less that stellar photo quality.  I just took these in a pinch.
This post was edited on 2006-07-17, 07:19 by RubenNYC.
Avatar
LycoLoco #4
User title: Your Lord and Master
Member since Jul 2006 · 962 posts · Location: Boone/Charlotte, NC
Group memberships: Members
Show profile · Link to this post
No, no, that's exactly what I wanted to know. Thanks Reuben! Those pictures get the point across stellarly. I just wonder if it'll accept another program's smart playlist. I'll mess around with that later tonight. I'm assuming since you never give it any "hard coded" tracks to play, it automatically updates whenever you put new tracks on? That'd be great for my podcasts because I'm always adding and removing them so this would be a perfect way to keep all of my podcasts in an updated playlist.
[Image: http://img175.imageshack.us/img175/840/publiconml3.png]
"Apple is like the cool, popular blonde girl at school. Who wears expensive clothing that's easily stained. And is a slutbomb." - Flatty

<macky> i think LycoLoco is drunk

[Image: http://www.xboxlc.com/cards/sig/red/LycoLoco.jpg]
Avatar
RubenNYC #5
User title: vibez junkie
Member since Jul 2006 · 1042 posts · Location: North Jersey
Group memberships: Members
Show profile · Link to this post
I really don't know about another program's smart playlist.  As far as I can tell, the auto-updating only happens when you synch with jEmplode.  So, if you add a bunch of tracks via some other method, like RMM, RMML or WMP, I don't think the playlist gets updated until you synch with jEmplode.

And make sure to unplug the USB cable.  Whenever I leave it in, I often get database lock errors trying to synch. 

Good luck.
Avatar
RubenNYC #6
User title: vibez junkie
Member since Jul 2006 · 1042 posts · Location: North Jersey
Group memberships: Members
Show profile · Link to this post
IMPORTANT: DO NOT SET THE SORT ORDER ON A SOUP AFTER IT'S CREATED.

I did this just poking around and it refused to auto-update after that.  Had to rebuild my Soup. :(
Avatar
dapreview #7
Member since Dec 2006 · 83 posts · Location: Lenexa, KS
Group memberships: Members
Show profile · Link to this post
Thanks for sharing - interesting little "hack". Too much effort tho :P

Creative's NJB3 and Zen Xtra have the best nested playlisting systems that I've seen. They seem to have given up on it though as you won't find it any of the newer players.

Kinda surprised that nested playlisting never made it into the Karma or its derivatives...
Avatar
dapreview #8
Member since Dec 2006 · 83 posts · Location: Lenexa, KS
Group memberships: Members
Show profile · Link to this post
good grief. i just found a (NIB!) JB3 on Craigs the other day and it got me thinking about the one feature that I haven't seen anywhere else... nested playlisting. I thought surely someone else has done this by now... any yet Google leads me back here.

UGG why? irks me how every player with OTG playlisting just dumps single tracks into a list when you add an Artist, Album, Genre, Year, etc.

too lazy to do what OP was talking 'bout
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-05-19, 00:57:23 (UTC -07:00)