As a side note, you should check out Ampache, another great music streaming server, written in php that uses a LAMP stack, and heavily relies on Musicbrainz tagging. Unlike Subsonic, Ampache is open source.
Perhaps it might be worth it for the two projects to talk and find a way to share info. Andy On Tuesday, August 16, 2016 at 7:34:22 PM UTC-4, Adrian Sampson wrote: > > Woohoo! I'm glad that technique seems to be working. > > On Aug 16, 2016, at 6:38 PM, François-Xavier Thomas <[email protected] > <javascript:>> wrote: > > Thanks for the pointer! I'll add a PR to document this when I get to it. > > On the ~2000 starred songs I have, less than 1% don't match correctly > now, mostly because some people put the same name on multiple songs in > a single album. I should be able to do something about that. > > On Tue, Aug 16, 2016 at 3:24 PM, Adrian Sampson > <[email protected] <javascript:>> wrote: > > Yes, it is possible! The `lastimport` plugin is a good example: > > > https://github.com/beetbox/beets/blob/master/beetsplug/lastimport.py#L215-L218 > > > Basically, you can construct an object from the `dbcore.query` module and > > pass it to `lib.items` instead of a string. > > > Adrian > > > > On Aug 15, 2016, at 5:01 PM, François-Xavier Thomas <[email protected] > <javascript:>> > > wrote: > > > I quickly whipped together a working prototype in order to see if my idea > > works. > > > I'm unclear about one thing. I'm doing something like this to match > > Subsonic media files with Beets' items : > > > query = ( > > > ... "artist:%s" % artist, > > ... "title:%s" % title, > > ... "album:%s" % album, > > ... ) > > > matches = lib.items(query) > > > > Handcrafting a string query seems inefficient ; it also returns > > multiple results if a song title is a substring of another (e.g. > > "Song" and "Song (Instrumental)"), which is Not Good™. I didn't find > > an official way to directly query the Item model in the docs[0], is > > there any? > > > [0] http://beets.readthedocs.io/en/latest/dev/api.html > > > On Mon, Aug 8, 2016 at 12:48 AM, Adrian Sampson <[email protected] > <javascript:>> wrote: > > > Cool! Transitioning from Subsonic to a beets library seems like a common > > problem. > > > I believe there are ID3 tags for both play count and star rating. There’s > > more about the rating tag in this thread: > > https://github.com/beetbox/beets/issues/122 > > > At the moment, beets doesn’t support either, but this shouldn’t be a > > difficult change to make if you’re interested. In the mean time, you can > use > > beets’s flexible attributes to store the data in the SQLite database > without > > writing it to the files. > > > These two attributes are exposed by the Subsonic API. The plan is to match > > the results with : > > > 1) Filesystem path if possible (e.g. if Subsonic and Beets share a music > > collection) > > 2) Album/Artist/Title if there is only one result in the Beets database > > 3) Finally, user choice if there are multiple results > > > > This approach sounds great! > > > Adrian > > > -- > > You received this message because you are subscribed to a topic in the > > Google Groups "beets" group. > > To unsubscribe from this topic, visit > > https://groups.google.com/d/topic/beets-users/_imCIAklSJU/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > > [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > > You received this message because you are subscribed to the Google Groups > > "beets" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > > You received this message because you are subscribed to a topic in the > > Google Groups "beets" group. > > To unsubscribe from this topic, visit > > https://groups.google.com/d/topic/beets-users/_imCIAklSJU/unsubscribe. > > To unsubscribe from this group and all its topics, send an email to > > [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "beets" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "beets" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
