Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
translations translations
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  User Interface and Voice
| | |-+  Make playlists use the database info of a song instead of its file name
« previous next »
  • Print
Pages: 1 [2]

Author Topic: Make playlists use the database info of a song instead of its file name  (Read 7998 times)

Offline Bilgus

  • Developer
  • Member
  • *
  • Posts: 1191
Re: Make playlists use the database info of a song instead of its file name
« Reply #15 on: July 13, 2024, 08:14:01 PM »
Awesome, I already started messing with the cue sheets and I already see a few short comings in the existing viewer so it'll need some work.
- trying to load a entry currently it only supports a single file. nope it just doesn't allow multiple entries and files too AFAICT
- the buffer is not continuously filled like the playlist viewer so thats more code to write too (otherwise it limits the size)

and code or a plugin to generate them
I'm thinking of basically you feed it a playlist and it converts to a cue file

In option 1 feed it a playlist and if you have a setting enabled for extm3u it gets converted on the first save
but one thing is that both viewers take the plugin buffer as scratch space so making either viewer a plugin could make performance worse
and therefore I guess it depends on what results in the best performance with the least amount of code in core

ATM I'm thinking thats probably option 2 as this is unencumbered by the current playlist stuff, has relatively low overhead for the rest of us
and won't break much else if anything when I introduce a bug :)

I'm open to suggestions either way.

I envision a context menu item in the playlist viewer that states 'use as cue' which then loads the playlist file and writes the data from the metadata of the files themselves

after conversion when the playlist is selected again the .cue file with the same name is instead loaded in the cue viewer with the currently playing track selected (if it exists)
later you might have changed the playlist so you delete the .cue file your playlist reappears in the viewer and you can again generate a .cue file


« Last Edit: July 13, 2024, 10:40:29 PM by Bilgus »
Logged

Offline nezzled

  • Member
  • *
  • Posts: 13
Re: Make playlists use the database info of a song instead of its file name
« Reply #16 on: August 06, 2024, 06:47:37 PM »
I just noticed this post got some traction, sorry for not replying at all.
The cue sheets seem like a fine solution, from my limited knowledge of the topic sidecar files suck in theory but may be required considering the variance of the processing power of the platforms that rockbox runs on (although I assume you've already accounted for that)
In any case, I'm on fairly newish hardware so I'll test the patch you sent and see if it works well for me. Thanks!
Logged

Offline nezzled

  • Member
  • *
  • Posts: 13
Re: Make playlists use the database info of a song instead of its file name
« Reply #17 on: August 06, 2024, 07:34:34 PM »
Quote from: Bilgus on July 05, 2024, 05:16:33 PM
Here is the first try at a patch that does this
ATM it reads every file from disk which is only when you are in the viewer OFC

https://gerrit.rockbox.org/r/c/rockbox/+/5807

if you let me know what device I can get you a build to try


Updated a bit:
this thing would be pretty slow with large playlists on a slow disk
in that case hopefully you are loading your database to RAM
and this will take advantage of it to speed up the access
This worked perfectly. I'm using a 6/7g with flashmodded storage so it's pretty speedy for me. I understand this likely won't make it into the actual rockbox build (at least in its current form) but for me this works wonderfully. Thank you so much!
Logged

Offline iPodVT

  • Member
  • *
  • Posts: 467
Re: Make playlists use the database info of a song instead of its file name
« Reply #18 on: August 06, 2024, 10:15:04 PM »
Sorry for not chiming in on this topic sooner.

My longtime solution to this problem has been to have two copies of my music library on my iPods:  one copy is synced directly from iTunes (with its cryptic file namings) and the other copy is a clone from the Mac's iTunes music library directory (~/Music/iTunes/iTunes Media/Music) to a directory at the root of my iPod's storage.  I have Rockbox build its database from only the cloned library directory.  When I make changes to the Mac's iTunes music library I use iTunes to update its synced copy of the library, and I use a Mac app called FreeFileSync to update the iPod's cloned copy of the library.  I also export my iTunes playlists and then process them with a Mac app called M3U8 Converter which resolves the issues I used to have with exported playlists whose pathnames contain diacriticals.  That app also has a built-in find/replace function which can simultaneously convert the playlists' Mac pathnames to the iPod's pathnames.

At some point I will reach the limit of the 256GB storage I have in my iPods - when I get there I will increase the storage in the iPods that have 64MB RAM, and abandon keeping an iTunes synced library on the iPods that are limited to 32MB RAM in order to avoid the eventual problem of exceeding the Apple firmware database's limitations.


Logged

Offline Bilgus

  • Developer
  • Member
  • *
  • Posts: 1191
Re: Make playlists use the database info of a song instead of its file name
« Reply #19 on: August 07, 2024, 01:31:29 AM »
I've been stuck on this cue viewer for a few days now. So far I have it indexing the file and saving that to ram (or disk if necessary)

I think I'm going to load chunks of the desired metadata on the fly with the index to speed up file seeking within the cue sheet file

its still several steps but hopefully less time consuming than the hoops that IpodVT goes thru
Logged

Offline nezzled

  • Member
  • *
  • Posts: 13
Re: Make playlists use the database info of a song instead of its file name
« Reply #20 on: August 08, 2024, 11:32:00 PM »
Quote from: Bilgus on August 07, 2024, 01:31:29 AM
I've been stuck on this cue viewer for a few days now. So far I have it indexing the file and saving that to ram (or disk if necessary)

I think I'm going to load chunks of the desired metadata on the fly with the index to speed up file seeking within the cue sheet file

its still several steps but hopefully less time consuming than the hoops that IpodVT goes thru
Regardless of speed I'm glad this is being worked on. Thank you for your efforts!
Also, I found a small bug with the other patch: unless I play a song and then go back, the file name still shows when you're looking at it through a playlist viewer in the WPS. I assume this will be fixed when the cue sheet feature is finished but it may be something to consider.
Logged

Online Frankenpod

  • Member
  • *
  • Posts: 788
Re: Make playlists use the database info of a song instead of its file name
« Reply #21 on: September 12, 2024, 05:54:01 AM »
Am I correct in thinking the latest dev version has reimplemented this feature?  It seems to be back (though I've gotten confused which version of rockbox I saw it on - it appeared and then was removed again, but now it's back?)

Am I right in thinking it now gets the information directly from the ID3 tags on-the-fly rather than the database?  Was the plan not to use cuesheets and extended playlist formats?  Was it decided to do it this way instead?

Anyway, it doesn't seem to cause a significant slowdown in accessing playlists.

[edit] if it's now a permanent feature I guess the manual probably needs another update?

« Last Edit: September 12, 2024, 06:03:00 AM by Frankenpod »
Logged

Offline nezzled

  • Member
  • *
  • Posts: 13
Re: Make playlists use the database info of a song instead of its file name
« Reply #22 on: September 14, 2024, 10:43:56 PM »
Quote from: Frankenpod on September 12, 2024, 05:54:01 AM
Am I correct in thinking the latest dev version has reimplemented this feature?  It seems to be back (though I've gotten confused which version of rockbox I saw it on - it appeared and then was removed again, but now it's back?)

Am I right in thinking it now gets the information directly from the ID3 tags on-the-fly rather than the database?  Was the plan not to use cuesheets and extended playlist formats?  Was it decided to do it this way instead?

Anyway, it doesn't seem to cause a significant slowdown in accessing playlists.

[edit] if it's now a permanent feature I guess the manual probably needs another update?
Glad to see this got fully added.
Ironically it was added just after I switched off iTunes again (for unrelated reasons)
Not sure how it works, but if it's less laggy than it's probably some other optimization that they found
Logged

  • Print
Pages: 1 [2]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  User Interface and Voice
| | |-+  Make playlists use the database info of a song instead of its file name
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.142 seconds with 24 queries.