Hi ! On Wednesday 22 April 2020 22:40, Przemysław Sitek wrote : > Hi! > > > I hope > > https://github.com/hydrogen-music/hydrogen/commit/5588ae24b46bc5b54118e1508b5d928c3a6a28cb > > is welcomed, I'll quickly work on pattern and song ... if not, voice > > yourself. > > I think storing format version in file is a great idea. Frankly, I’m > surprised that it hadn’t been done before, it seems so obvious now. I have > some doubts if new <version> element is needed, I’d probably use version=„1” > attribute on root element, but don’t really know why. Maybe parsing would be > easier, it’d be just rootElement.attribute(„version”). OTOH, <version> > element seems a bit more coherent with rest of file. Or maybe we should > encode version in xmlns? http://www.hydrogen-music.org/drumkit/v1, > http://www.hydrogen-music.org/drumkit/v2? >
yup version attribute is cleaner https://github.com/hydrogen-music/hydrogen/commit/ccb0466346582d4fa6fcabb521ffba9faefcfc25 > How would we handle different schema versions in XSD schema? I think what we do now is enough for our use case which is : - we only have the current xsd file. - if the xml file is validated against xsd, we load it. - if not, checking the version number gives us hints on how to load it without to much guessing. > > I welcome syntax changes - renaming root node from <drumkit_info> to simply > <drumkit>, and <meta> element. The new format is certainly nicer, but I don’t > feel confident that now, after two betas had been released, is the best > moment to change our file formats. Especially after Ubuntu Studio guys agreed > to package beta1 in LTS release as long as we refrain from making breaking > changes;) I’d like to know what others think. > changes are so little and legacy loading is untouched ... I've added a loading validation test, it's based on Millo_MultiLayered3.h2drumkit a drumkit from 2008 which has multi layers, no components ... the test does a char by char comparaison of the expected result and the generated version=1 drumkit.xml. I had to skip the first to lines because the version attribute of drumkit element was not always written at the same place ?!?!?!?!?!? https://github.com/hydrogen-music/hydrogen/commit/7d6d45c703f6f2323a7e4595d90f724533176a73 > Besides, as format is changes, shouldn’t new one be „version 2”? Or maybe we > start at 1 and treat old, unversioned format as „version null”;) we start version at 1, default is 0 (unversioned) and goes to legacy loading. > > > about general installed data, please have a look at the above : > > https://github.com/hydrogen-music/hydrogen/pull/845 > > standards are good, versioning ?!? let's talk about it. > > I’m not sure what does that enable/protect against. It might enable having > two versions installed side-by-side, but in that case both should be > installed into separate prefixes anyway. Upgrades? > > BTW Mac and Windows versions bundle everything in one directory, so they > don’t have to be considered here. it's just that as cmake files and filesystem.cpp is changed, I don't want to end up with a non working macos or windows bundle. > > > btw. > > if everything goes as expected, my http://www.czarciekopyto.com/en > > will be delivered to me on friday ... huummm ! > > (I've ordered it weeks before what we're living ... ) > > > > I'll be happy kicking ! > > Man, that rocks! That's probably the coolest drum pedal of all times! I’ve > dreamt about that pedal for years, and I don’t even play drums:) I’m sure > you’ll have a great time! I have it, it's very impressive, will test it in a few hours. > > Best Regards, > Przemek > _______________________________________________ Hydrogen-devel mailing list Hydrogen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hydrogen-devel