Subject: Re: [ecasound] SuperEcasound
From: Mario Lang (mlang_AT_delysid.org)
Date: Mon Sep 01 2003 - 01:25:02 EEST
Kai Vehmanen <k_AT_eca.cx> writes:
> On Wed, 20 Aug 2003, Nolan J. Darilek wrote:
>> 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
> 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
> There are quite a few ideas that could be added to the new interface
> - support for custom timeformats (hh:mm:ss, SMPTE, etc)
This should be trivial. I will look at it for ecasound.el >0.8.3.
> - scheduling of ECI commands (timestamping/sequencing)
Hmm, I feel this might be a bit complicated to get really synchronized...
> - position markers (search the list archive for posts written by
> Julien Claassen and Jeremy Hall concerning this feature)
I've implemented this for the upcoming ecasound.el 0.8.3 release now.
In ecasound-iam.mode, use C-c C-SPC to set a mark, and C-c C-j to
goto (jump) to a mark. Markers have names, and C-c C-j provides completion
for marker names. Note that markers are chainsetup specific, so you
can set markers for one chainsetup, select another chainsetup and set
new marks. When selecting one of the old chainsetups and using C-c C-j, you
only get marks defined for this chainsetup as a posibility.
> - command aliases
> - command macros
Using the Elisp ECI layer, you can already define "macros" by writing
new higher level functions in Elisp. Indeed, the implementation
of the marker system is just that.
> - user-interface capable of realtime feedback
ecasound.el run under GNU Emacs 21 can use the daemon mode of ecasound
to fetch status information in the background, and display it in the
buffer's mode and header line. This is updated every 2 seconds (by default)
so not *quite* real-time, but still...
-- CYa, Mario | Debian Developer <URL:http://debian.org/> | Get my public key via finger mlang_AT_db.debian.org | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
This archive was generated by hypermail 2b28 : Mon Sep 01 2003 - 01:17:23 EEST