So, revisions and relationships - are you OK on how the current system works with those?
2015-12-08 34240, 2015
Leftmost
I still don't fully understand how relationship revisions work and how we display entities at a given revision with the relationships as well.
2015-12-08 34254, 2015
Freso
mRokita: As Gentlecat says, the time is just a guideline to prevent people from claiming a task and then not doing any work on it for several days.
2015-12-08 34206, 2015
mRokita
ok
2015-12-08 34224, 2015
Freso
mRokita: As long as you're working on the task, we're willing to extend the deadline until you're done with it.
2015-12-08 34203, 2015
LordSputnik
Leftmost: OK, so relationships are linked to entities, rather than entity data, so they're effectively two separate versioning systems
2015-12-08 34222, 2015
LordSputnik
A relationship revision links a relationship and relationship data
2015-12-08 34252, 2015
LordSputnik
The relationship data holds the entities and relationship type
2015-12-08 34202, 2015
LordSputnik
So when you change the entities or type, that's versioned
2015-12-08 34226, 2015
LordSputnik
However, there's no way to see a particular "version" of an entity with relationships on the site
2015-12-08 34256, 2015
LordSputnik
There's not even currently a way to see revisions for relationships, although that's easier to implement
2015-12-08 34258, 2015
Leftmost
Hmm. That seems like it'd be useful, but also a bit complex.
2015-12-08 34250, 2015
LordSputnik
So, there are a few questions here - since relationships are fairly simple data, is it necessary to have them versioned at all? And is there a way we can better integrate the two versioning systems?
2015-12-08 34245, 2015
Leo_Verto
How would relationships not being versioned work with the idea of fully versioned edits?
2015-12-08 34250, 2015
Leftmost
I was wondering about that. Our current revision setup wouldn't allow us to modify two entities with one revision, which is what I think would be required for relationships in the current setup.
2015-12-08 34233, 2015
mRokita
hmm ok so the beets thing is used to change the filenames to correct, right?
2015-12-08 34257, 2015
ariscop joined the channel
2015-12-08 34230, 2015
mRokita
wow it's awesome ^^
2015-12-08 34203, 2015
Leftmost
That's actually something about merging too: there's no way for a revision to have multiple parents.
2015-12-08 34203, 2015
LordSputnik
mRokita: if you mean beets in general, then yes, it changes filenames, but does a whole lot more. If you've used Picard before, it's kind of like an automated Picard. It updates the file metadata, organises files, renames, reports missing tracks
2015-12-08 34218, 2015
Leftmost
Maybe we do need to rethink the structure of revisions a bit.
2015-12-08 34239, 2015
LordSputnik
Leftmost: well, multiple parents would be for splitting, wouldn't it?
2015-12-08 34240, 2015
mRokita
LordSputnik: okay, it seems to be pretty useful
2015-12-08 34259, 2015
LordSputnik
Leftmost: since the child is the one that came before, and we set the parent ID to the revision following
2015-12-08 34220, 2015
LordSputnik
mRokita: It's keeping my 15,000 tracks in line, I like it very much
2015-12-08 34231, 2015
Leftmost
Eh? That seems wrong. The parent should be the revision from which the revision is derived.
2015-12-08 34211, 2015
LordSputnik
Leftmost: Well that's how we've been using it so far :P It does indeed seem backwards
2015-12-08 34211, 2015
mRokita
LordSputnik: wow
2015-12-08 34221, 2015
mRokita
i use CMUS for my music at the moment
2015-12-08 34225, 2015
Leftmost
Okay, I missed that. That's definitely not right.
2015-12-08 34238, 2015
LordSputnik
Leftmost: perhaps we should rename it child_id
2015-12-08 34201, 2015
Leftmost
We want to be able to have both multiple children and multiple parents, though.
2015-12-08 34220, 2015
LordSputnik
mRokita: does cmus do organization as well as playing?
2015-12-08 34237, 2015
mRokita
LordSputnik: yeah it does
2015-12-08 34247, 2015
LordSputnik
Leftmost: Hold on, let me think about this
2015-12-08 34248, 2015
mRokita
LordSputnik: it supports ID3 tags and has a search function
2015-12-08 34201, 2015
mRokita
and has some remote control
2015-12-08 34203, 2015
Leftmost
Merging would require multiple parents (as would relationship adding if we did it that way) and splitting would require multiple children (as would relationship deleting).
2015-12-08 34225, 2015
mRokita
for example, i've written a script which displays some info about the current track in conky
2015-12-08 34239, 2015
LordSputnik
mRokita: ah that's cool, I like using MusicBee on windows, that also has remote control :) On Ubuntu I use Quod Libet
Leftmost: that depends on whether we want to allow reverting splitting. That seems like a nightmare waiting to happen :P
2015-12-08 34206, 2015
mRokita
okay i get that the beet script does everything
2015-12-08 34214, 2015
LordSputnik
mRokita: You'll need python installed, and the dependencies, but that should be it
2015-12-08 34215, 2015
mRokita
the project seems to be very complex
2015-12-08 34232, 2015
darwin
it has a super helpful maintainer
2015-12-08 34236, 2015
darwin
and good community :)
2015-12-08 34245, 2015
Leftmost
LordSputnik, our revision tree gets completely messed up if we don't track the parent of a split.
2015-12-08 34245, 2015
mRokita
yup im cloning the git repo right now
2015-12-08 34207, 2015
Leftmost
Reverting is a natural consequence, and I don't see why it'd be a nightmare.
2015-12-08 34238, 2015
LordSputnik
mRokita: you'll want to look in the beets/ folder, and just take a look in each of the python files in that directory to see how they work together
2015-12-08 34214, 2015
LordSputnik
sampsyo might have better pointers for where a good starting point is :)
2015-12-08 34218, 2015
mRokita
yeah, it seems to be a harder task to achieve
2015-12-08 34251, 2015
LordSputnik
Ah but once you're familiar with the code, you should be fairly fast at doing all the complex beets tasks that come up in future
2015-12-08 34225, 2015
LordSputnik
mediafile.py and library.py are two good files to start with, I think - you could probably complete that task I pointed out mainly in those two, I think
Of course it's always possible for there to be errors, but that's one of the things that attracts editors to MB - fixing bits of the database where their files get the wrong name
2015-12-08 34236, 2015
mRokita
stuff like Pink Floyd, The Doors, The Beatles, Deep Purple, Marillion...
2015-12-08 34244, 2015
LordSputnik
(and of course, adding releases they have which aren't already in the DB)
2015-12-08 34252, 2015
LordSputnik
mRokita: you have good taste :D
2015-12-08 34253, 2015
mRokita
but also Metallica, Marilyn Manson, Gorillaz, MUSE, Tool
2015-12-08 34201, 2015
mRokita
i love music actually
2015-12-08 34205, 2015
Freso
:)
2015-12-08 34216, 2015
mRokita
Santana, Everlast... :D
2015-12-08 34223, 2015
LordSputnik
I cleaned up the Beatles remasters in MB a couple of years ago, so the tags should all be good for them ;)
2015-12-08 34232, 2015
mRokita
:]
2015-12-08 34247, 2015
Freso
But yeah. sampsyo should be more or less around. He's the lead developer and creator of beets.
2015-12-08 34206, 2015
LordSputnik
mRokita: I also like Muse, Pink Floyd and some Gorillaz
2015-12-08 34233, 2015
LordSputnik
Leftmost: perhaps we should investigate similar actions in Git
2015-12-08 34234, 2015
mRokita
Gorillaz have a few nice songs :)
2015-12-08 34235, 2015
Freso
(There's also #beets if you needs beets usage help and LordSputnik + darwin + sampsyo + me + perhaps others are not helpful enough in here. ;))
2015-12-08 34247, 2015
Leftmost
Probably.
2015-12-08 34257, 2015
Freso
s/needs/need/
2015-12-08 34200, 2015
mRokita
my girlfriend told me about gorillaz this year :)
2015-12-08 34225, 2015
LordSputnik
Leftmost: I mean, it's quite complex to come up with a good revision system, so we should probably base it on something which already exists
2015-12-08 34209, 2015
Leftmost
Yeah. That's part of why I'm trying to treat it as a DAG. :)
beets#406: Make beets support MusicBrainz Track IDs || 3 days || Code, Outreach / Research || MetaBrainz Foundation || Currently claimed
2015-12-08 34245, 2015
mRokita
but im still wondering what "support MusicBrainz Track IDs" means
2015-12-08 34250, 2015
LordSputnik
Good luck :D
2015-12-08 34255, 2015
LordSputnik
So, track MBIDs
2015-12-08 34259, 2015
mRokita
using MB trackids in search?
2015-12-08 34202, 2015
Leftmost
LordSputnik, should we pick it up again in a day or two?
2015-12-08 34208, 2015
LordSputnik
We came up with them a few years ago, at the Berlin 2013 summit
2015-12-08 34221, 2015
LordSputnik
Leftmost: I'll do some research into Git, and see if I can work something out
2015-12-08 34220, 2015
LordSputnik
mRokita: let me just get my information straight, it's been a while since I looked into this
2015-12-08 34248, 2015
Leftmost
I'll look into it as well.
2015-12-08 34212, 2015
mRokita
ok :)
2015-12-08 34223, 2015
LordSputnik
mRokita: hmm, so there doesn't seem to be much information about it anywhere
2015-12-08 34243, 2015
LordSputnik
kuno: correct me if I'm wrong, I know you were quite involved in getting these in
2015-12-08 34254, 2015
LordSputnik
So, the idea was to have a stable identifier for tracks on releases in MB
2015-12-08 34212, 2015
LordSputnik
Which stayed with the track through release merges and recording changes
2015-12-08 34236, 2015
_stanislas
Is there some easy way to test musicbrainz-server, rather than following INSTALL.md ?
2015-12-08 34253, 2015
LordSputnik
Previously you could use a combination of (release_mbid, recording_mbid, track_number) to uniquely identify a track
2015-12-08 34200, 2015
LordSputnik
So, the idea for this ticket is to use beets to store the track MBID inside music files, so that other applications can query MB with just the track MBID for current information about the track, regardless of whether the release MBID or recording MBID has changed
2015-12-08 34244, 2015
Leftmost
LordSputnik, a moment of bikeshedding: what do you think of using the fully-revised schema as the starting point for the upgrade scripts from the current schema?
2015-12-08 34254, 2015
Freso
_stanislas: You mean changes to it? You may be able to get a sandbox account if you pester Leftmost enough.
2015-12-08 34204, 2015
darwin
I didn't realize beets wasn't tagging track MBID!
2015-12-08 34211, 2015
darwin
I have added "label" to beets db and files
2015-12-08 34213, 2015
LordSputnik
Leftmost: which revised schema? The one we're still making?
2015-12-08 34214, 2015
kuno
track MBIDs are not just about querying MB, like MBIDs in general it is useful to be able to identify something, so you can say things about that something.
2015-12-08 34217, 2015
darwin
so feel free to ask me for advice about it etc.
2015-12-08 34222, 2015
Leftmost
LordSputnik, yep.
2015-12-08 34248, 2015
LordSputnik
Leftmost: I think I'm missing something, surely we're going to have to do that eventually?
2015-12-08 34204, 2015
Freso
LordSputnik mRokita: As darwin said, beets is not currently using Track MBIDs in any way at all, incl. saving it. So a first step would be to make sure it actually fetches and saves Track MBIDs like it does the other ones.
2015-12-08 34235, 2015
LordSputnik
bitmap: track MBID is exposed in the WS, right?
2015-12-08 34240, 2015
mRokita
Freso: ok, any tips where i should find it in the source?
2015-12-08 34240, 2015
Freso
sampsyo: Is there any other handling of MBIDs that should be taken care of?
2015-12-08 34241, 2015
_stanislas
Freso: yep, i am preparing some pull request.
2015-12-08 34243, 2015
Leftmost
I mean eventually, yes. But rather than having intermediate upgrade scripts from the partial revisions we've got now.
2015-12-08 34243, 2015
Freso
LordSputnik: Yes.
2015-12-08 34245, 2015
bitmap
LordSputnik, yes
2015-12-08 34258, 2015
Freso
_stanislas: You should start pestering Leftmost then. ;)
2015-12-08 34214, 2015
Freso
mRokita: Not really, no. Sorry.
2015-12-08 34226, 2015
LordSputnik
Leftmost: Oh yeah, once we've decided on a good schema, let's ust abandon the intermediate attempt
2015-12-08 34230, 2015
Freso
I haven't poked that much at main beets' source.
2015-12-08 34242, 2015
LordSputnik
Let's call that schema 0.5, and the "revised" one 1.0
2015-12-08 34257, 2015
mRokita
okay, im browsing it right now and it seems to be very complex
2015-12-08 34201, 2015
Leftmost
_stanislas, you can either use the VM or I can set you up with a sandbox, but it may take me a bit to get the sandbox in place.
2015-12-08 34229, 2015
_stanislas
i don't want to bother you much
2015-12-08 34243, 2015
_stanislas
can i use vagrant ?
2015-12-08 34244, 2015
Freso
I guess another thing to look at is how beets looks up data from MusicBrainz and how it uses MBIDs in its lookup/comparison algorithms. Maybe something needs to be done for it to take track ids into account there as well.
2015-12-08 34255, 2015
Freso
Really sampsyo is the one who'll know.
2015-12-08 34203, 2015
Freso
He should come around Soon™.
2015-12-08 34208, 2015
darwin
mRokita: I suggest looking at the issue in which I added label support
2015-12-08 34217, 2015
darwin
mRokita: it will show you the basics of how to add a column to the db etc.
2015-12-08 34226, 2015
LordSputnik
mRokita: for the actual MB querying stuff, I believe that's in the autotag directory