OK, here is some free consulting. This is the sort of thing that corporations pay $1000/day or better for.
Well Craig, here's my 2 cents worth:
In the modern software era, development environments and the programmers that use them organize their data into objects.
[nice synopsis snipped]
Firstly, let me assure you that Finale's programmers are thoroughly familiar with object oriented theory and practice. However, the Enigma file format's fundamental organizational concept is by data type and ID, not by object (it's a database).
There could be many reasons for not moving the storage format to something like you've outlined. Including the fact that:
* The original design (~1984-87) had to account for things like memory usage, speed, and file size that aren't such big obstacles in the systems we're using these days.
* So much development has gone into using the Enigma format that it would take years to change to an alternate one. Several years ago, Randy Stokes (Finale's Senior Developer) mentioned that there were over 800 files to maintain.
One good reason to preserve the organization by data type is that iteration at the global, regional, and local levels is the fastest possible. That's because a 'get', comparison, and often a 'set' is done by integers (pumped into registers). The faster operation(s) on any chip. An example of this is how it's possible to subsitute or scale the fonts in a whole document rather quickly.
In order to do the same with objects, the data items in question have to be first obtained from their containing object, assembled into a list or an array, and then the operation performed. A two or threefold increase in time it takes to get something done.
When running, Finale actually does use objects and has to deal with speed factors. However the point is that both developers and users want to have the result of an operation _update the display_ as quickly as possible. Whenever Finale can use integer IDs instead of scan classes for data items, I suspect it does. Screen updates clearly have a higher priority than backwards compatibility because that's where users spend over 90% of their time.
Philip Aker http://www.aker.ca
_______________________________________________ Finale mailing list [EMAIL PROTECTED] http://mail.shsu.edu/mailman/listinfo/finale