Jump to content

fnmain

Approved Members
  • Posts

    7
  • Joined

  • Last visited

fnmain's Achievements

Member

Member (2/3)

  1. There seems to be a lot of issues on this forum that stem from people wanting the Poweramp DB to work in non-standard ways My proposition? An extension API for the Poweramp DB. This would allow those who organize their library in strange ways to dictate how their music is displayed (and sorted in some cases). The normal broadcast intent style plugins are off the table I presume, since the broadcast channel is far too slow for this use case. But given that the database uses SQLite, and you're already linking to LuaJIT to support MILK files. I think you could in theory manage a pretty banging extension API using Lua. Im imagining an API that works like so - As scanning is happening, for each file, a Lua function with 3 parameters is being called - The type of tag the file has as a String - A Lua table containing every one of the raw tags from the file (with standard tags that the DB looks for being denoted with `Std{tag-name}` and being the same for every tag type) - A Lua table with other important metadata such as duration And the return type being a String that will be stored next to the file's entry in the `folder_files` table in the database - After scanning completes, the scanner disconnects from the database and calls a post processing function which takes 3 parameters - The path to the database as a String - A String that the extension can use to prefix it's own tables in the database. The function would simply return void. And would allow the extension to use a library such as lsqlite3 http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki to directly manipulate the database to it's desire. This would allow every non-standard tagging system under the sun to work with Poweramp. As long as a Lua extension exists for it. Just throwing this out there, but an extra feature of this API could be the ability to create new categories. Poweramp could look for tables in the DB with a specific naming convention, for example being "{given prefix}_cat_{category name snake case}", then using a predefined table schema, the Lua extension could create new categories in the post processing function
  2. Also worth noting is that MusicBrainz Picard offers a solution to this issue as well There are 2 ways to use the metadata that Picard provides to solve this issue. The first way uses MBIDs instead of artist names to group artists together, and the second way is to use the `Sort Artist` tag with the rest of the tags I've described to derive how artists should be grouped. # Way number 1 This solution uses the artist MBIDs that MusicBrainz provides to group artists together. Simply take the `ARTISTS` tag And apply it to the MusicBrainz Artist IDs tag(s) The Artist MBIDs tag(s) will always be in the same order as the `ARTISTS` tag(s). And will always be the same for every possible spelling of a given artist. This way is probably the best way to do this, but requires that your music be tagged with a MusicBrainz compatible tagger. # Way number 2 Though it wouldn't be very easy to implement. This solution uses the `ARTISTS` tag described above, as well as the standard `artist` tag, and a new `Sort Artist` tag. Consider the following tags The solution here is to use the `ARTISTS` tag to derive what the join phrases are for the given `artist` tag Then apply that to the `Sort Artist` tag Picard will always make the `Sort Artist` tag match what is stored in the MusicBrainz database. For example, the `Sort Artist` tags for each one of these separate artists Would be the same across all of them This method uses mostly standard tags, but leaves open a few edge cases
  3. Hi! My music library is organized using MusicBrainz Picard, which means that the standard `artist` tag in my files contains the artist, plus any featured and appearing artists as well. Leading to this when I'm trying to find songs from an artist What Picard does is with the standard `artist` tag that looks like this It also includes a non-standard `ARTISTS` tag that looks like this (On MP3, it's still called `ARTISTS`, but it's one tag with the artists separated by either null bytes, or some other delimeter depending on the ID3v2 version) Of course, I could just use Poweramp's split artists system to remedy this, but even then there are still edge cases I'd love to see Poweramp derive how to split artists using the `ARTISTS` tag! Thanks in advance for your consideration 😁
  4. It's worth noting that if you organize your music using Musicbrainz Picard, it will automatically add the `ARTISTS` tag(s) to your music files, which looks like this in a FLAC file. Picard will add this on top of the normal `Artist` tag. In ID3v2.3 tags, the tag is also called `ARTISTS`, but instead it uses the normal **/** separator convention
  5. @Lexy, the app runs in the background, the only screen in the app *is* the settings screen. Once you launch the app and enter in all that info, you can simply start listening to music. I'll change the app screen to make that more clear. Thanks for bringing that to my attention
  6. I've made a Poweramp plugin to solve this problem! https://github.com/StratusFearMe21/listenbrainz-Poweramp It supports scrobbling any song by it's metadata, including MBIDs. It also allows you to exclude songs with little metadata. ( APK here: https://github.com/StratusFearMe21/listenbrainz-Poweramp/releases/latest )
  7. Hi! I'm attempting to EQ my JBL Flip 5 speaker to the Harman target, and AutoEq is telling me that I need to set the preamp to -12.5db It seems that the minimum that the preamp can go is -12db. And even trying to cheese it by exporting a preset, editing the resulting JSON so that the preamp is -12.5db, then importing it again just resets it back to -12db. Thanks in advance!
×
×
  • Create New...