> Ecasound works well in a strictly time-based setting, but I struggle
> when making music. Specifically, I pick a tempo, and from that point
> on I think strictly in measures. With ecasound I'm stuck converting
> measures to absolute times, and my mind can't handle math and music

I feel that this and many other similar features should be implemented
conceptually at a higher level... SuperEcasound!

At this point there is very little room to expand Ecasound's scope of
functionality. Primary reason for this is that I simply cannot handle more
code with the time I currently have for Ecasound development. This
scalability problem manifests itself in many ways:

a) amount of source code to maintain; currently over 60,000 lines of
code plus non-insignificant amount of documentation
b) compile and link times; on my fastest machine it takes over half an
hour to compile Ecasound; this means it's pretty impossible to
work ~0.5h every day with Ecasound, I have to find time for
a whole evening
c) features; introducing the testsuites has helped, but we're
still years away from having a complete testsuite that could
help to maintain the current huge feature-set

... so it's is highly unlikely (although not impossible) that I would add
major new areas of functionality to the core Ecasound package.

But, but, the situation is not as bad as it seems. It should be quite
straightforward to create a new frontend - SuperEcasound! - that would
extend Ecasound's functionality. Writing a simple custom frontend for the
interactive mode is pretty straightforward using the ECI interface. One
of the great benefits is that SuperEcasound can be written in C, Python,
Perl, PHP, elisp or some other ECI-supported language.

Now this is not exactly a new idea. Some of the existing projects like
ecasetupedit and ecasound.el have taken a SuperEcasound-style approach.
But so far nobody has worked on a project that aims to extend the current
interactive mode (i.e. evolutionary approach), imitating its look and feel
so existing users could easily migrate from "ecasound -c" to
SuperEcasound.

There are quite a few ideas that could be added to the new interface
layer:

Now personally I'm going to continue concentrating on maintaining and
improving the Ecasound core, so I won't have time to start SuperEcasound
development. But I sure welcome anyone to start work on the project!