Joined: Feb 29, 2004
Location: Up in that tree over there.
Audio files: 5
|Posted: Mon Dec 27, 2010 9:58 pm Post subject:
|Virtually every data object in Zylaphon carries a ZyCertificate which is a form of meta-data for that object. ProximateOrigin and Fixity are the two data members of the ZyCertificate users will encounter most often. ProximateOrigin takes one of three states:
Symbol.User – if the user created, approved or acknowledged the object.
Symbol.Zylaphon – if the system created the object;
Symbol.InvalidCertificate – if the object's meta data has been compromised by some operation.
As to this last; if one transforms a half-note to a quarter there is “quarter left over.” In Sibelius, for example, such “remainders” are expressed as rests. In Zylaphon such remainders retain all their initial data except for their new duration and offset values – and their ProximateOrigin, which now becomes Symbol.InvalidCertificate. For the users sake all such data objects are displayed in gray in the ChannelSetViewControl to make clear that these objects do not necessarily reflect a direct intent to create them.
In the screenshot below the second measure started out looking like the first. The top channel bar of the second measure shows what results when you convert the first half note to a quarter in Sibelius. The second channelbar in the second measure shows what happens when you do the same in Zylaphon.
BTW the on screen keypad does not function. At present it is only a guide to the actions of the actual key pad. The keypad is context sensitive, meaning the actions and options available on the keypad depend on which window is active and which element in the active window is selected.
Fixity is an unsigned byte value which is a measure of its importance in the mind or computation of the object's creator. By default any object created by the user is assigned a Fixity of 255 which value tells the system that it may not be changed. The user can assign a global “questionable” threshold value between 0 and 254 inclusive which may be used by the system as a guide as to when to question the user if it may change a data object.
An object's certificate carries other, optional, data as well.
It may maintain a history of the object as a list of ZyAttribute objects. This can be useful in keeping track of what alternative values or graph paths, etc., have been tried for an object.
The Fitness value of the object, i.e. how well it meets the various technical and aesthetic goals and constraints which obtain at the time/place of its location.
Or it may describe the function or special character of the data object. For example, a pitch that is intended to be the high point in a line; or that a chord has a function in a cadence.
Time is of the essence in music computation because the solution space is so large. Thus storing rather than computing from scratch is always preferred.
Please note that the rampant prefixing with Zy is not gratuitous. Rather it avoids having to qualify namespaces when a token like Attribute is used which could clash with the same token in a needed Window's system namespace.
The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham