Re: Unique ids in MusicXML 3.1 and beyond

>  Are there other use cases that you can think of for this?  


Here is a couple of cases:

1. If any program (eg OMR engine) needs to output non-MusicXML information (eg bounding-boxes of items)  then it could be passed via another channel (XML, JSON, text, ..), cross-referencing by uid

2.	a) If a conductor taps a note on her tablet, the note could be highlighted on all the players' tablets by passing a uid. The MusicXML might be generated by a completely independent program which outputs uids.

	b)  the note might be changed, or a notation might be removed or corrected

This does open a general way of referring to elements in a MusicXML file and for passing any information about elements which is not catered for in the MusicXML format.

best regards
James Sutton
Dolphin Computing
http://www.dolphin-com.co.uk <http://www.dolphin-com.co.uk/>
http://www.seescore.co.uk <http://www.dolphin-com.co.uk/>
http://www.playscore.co <http://www.dolphin-com.co.uk/>




> On 8 Sep 2017, at 12:31, Jeremy Sawruk <jeremy.sawruk@gmail.com> wrote:
> 
> "...we will need a standard way to convert between string and integer..." - I don't think this should be part of any standard. Developers should implement ids according to xml:id as defined in the standard you referenced. I don't think we need to redefine what an ID is because the concept is already well known to developers. If we want to redefine / limit the semantics of IDs, then we should have a very strong use case to make it part of a standard.
> 
> That being said, a convention may be useful. I could see this being useful for human readability and debugging. However, I persona;;y don't understand a use case where one program would want to read another program's IDs other than for the use of cross-referencing elements. For example, if a file is created in a desktop editor, then exported to a web editor, the web editor can use the IDs already in the file for handling events without needing to create its own. Are there other use cases that you can think of for this?  
> 
> On Fri, Sep 8, 2017 at 5:01 AM, James Sutton <jsutton@dolphin-com.co.uk <mailto:jsutton@dolphin-com.co.uk>> wrote:
> Hi all,
> 
> The sample MusicXML files use ids for cross-referencing items in the file - eg parts "P1" and instruments "P1-I3".
> 
> In my application I am labelling every editable item in the file (notes, notations, directions etc) with a globally unique integer id so that file edits can be recorded and replayed, allowing users to share musical annotations
> 
> If we are looking for interoperability such that one program can read another program's integer ids we will need a standard way to convert between string and integer (ie defining a prefix and integer base), bearing in mind that it is mandated by the standard for (https://www.w3.org/TR/xml-id/ <https://www.w3.org/TR/xml-id/>) that the xml:id must start with a non-numeric character.  I propose the prefix "uid" followed by a hex integer eg "uid9ab".
> 
> It is not immediately obvious that 2 programs developed in isolation will need to access each other's uids in most cases, but it is not unimaginable that certain applications will find a use for this interoperation.
> 
> Does the group have any view on this?
> 
> with best regards
> James Sutton
> Dolphin Computing
> http://www.dolphin-com.co.uk <http://www.dolphin-com.co.uk/>
> http://www.seescore.co.uk <http://www.dolphin-com.co.uk/>
> http://www.playscore.co <http://www.dolphin-com.co.uk/>
> 

Received on Friday, 8 September 2017 14:01:48 UTC