From: Ramon Gonzalez-A. <ar...@ma...> - 2004-01-29 15:30:47
|
Dear Sirs, Some issues. 1) I don't think I have used the semitonal or the fractional readline possibility in the Foo sources. (I would have to check, but it is improbable). However, I have used them intensily in all my "music sources". Rationals should have been part of elk, since it is in the scheme report. Perhaps we could press the elk peaople, so. Replacing the semitonal notation by a function is certainly not a big deal -of course there are already functions in Foo to deal with this and more refined related questions [Pitch.foo in ~/Control/Utilities]. Even more easy to change 1/3 by 0.3333. The problem of course is that a function does not solve the problem of notation. One of our main concerns when doing Foo (and elsewhare) is that the way one expresses something should be as close as possible to the way one thinks it. And with this in mind you'll agree that 1/5 tells much more than 0.2 (although in this trivial case it could be less dramatic). A proportion is a most important way of supplying data. In music as in many other arts proportions are paramount, and these elements of a description should stand clearly in the way one is formulating a(n artistic) statement. As you probably see I have less of a problem with loosing the semitonal notation (since it is anyway a particular case (though of course not any particular one)), than with loosing rationals. That would be an extreme pity and I would love to have some more thinking about it, {and if you allow me some more pushing} before just wiping it out from our lives. 2) What happens with the Oops patch? Before oops patch, methods could have optional arguments. The oops patch prevents methods from using optional arguments. It doesn't give an error, it simply doesn't work. I sent Gerhard the other day an example of both cases. I think this problem is worth looking at it. If I ask this is because both the Node as the Abstraction classes use optional arguments in their methods. I have cleaned the Node from optional arguments, although the documentation has to be changed. But the Abstraction is quite another question. Therefore I see at least three levels of control sources: -The old sources with their optional arguments and whatever (working, by the way, in Martin's first implementation (when removing the oops patch)) -The strict new implementation of the old sources. Adapted to oops.patch or probably better to new ELK (whatever that may mean : cleaning up of optional arguments, cleaning up of semitonals and rationals, etc.) -The new developed sources with the new ideas and changes; new classes, new structure, whatever. I think it would be very interesting to have at the developers site these three levels very clear. I think with the kernel we have a very similar situation. And of course with the Documentation. Well, that was it for now. All the best, Ramon |