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

Reply via email to