Hi Steven,

Sorry for the delay. Yes having editing capacity is not dependent on having a regions list. However, not having a list means that every time you delete a 'region' from the timeline, it will be gone for good. With a list, I can have a whole palette of sounds in front of me and pick and choose. I can cut a soundfile into 15 different clips, each of which will automatically show up on the regions list. I can then rename these and delete the clips from the timeline. Then the regions can be used as soundfiles. This is an issue in Reaper, which, incidentally, I can't use to save my life. There are many reasons why I find Reaper unusable and this is perhaps one of the very minor issues.   

RE actions and an object-based approach. You understand perfectly what I'm talking about. I was actually thinking of a simpler set-up. These are the things I'm thinking:

1- score action, which can also be applied to audio layers. A case at hand is when each sound can be a single grain imported into a table. 
2- generic envelope data. For instance, I can draw an envelope for a pitch parameter. I can then save this envelope as an 'object' and drop it onto another parameter where it is scaled both 'vertically' and 'horizontally'. I think, in this context, it would make sense to introduce envelopes that are region dependent, and specific to each instance of an instrument. So I can have two instances of the same instrument, one with an ascending, and one with a descending glissando, drawn as automations. Would this be a possibility?     
3- envelope actions, also applicable to pmask envelopes and the table editor. 

Thanks
Peiman



Hi Peiman,

The implementation of AudioLayers will essentially use a single
instrument to playback audio files.  The instrument will be
configurable with a number of parameters, but those are details the
user will never see.  It will handle things like fades, routing to
mixer channel, etc.

It seem to me that Region lists in and of themselves are orthogonal to
the user actions you mention (splitting, renaming clips, etc.).  Those
kinds of things work just fine in a program like Reaper, which does
not use region lists.  The current abstraction in Blue I'm working
with is called AudioClip.  It will be able to be split, copied, etc.

For something where AudioClips are pointed to, similarly to how the
SoundObject Library works, is not going to be part of this first round
of dev.  It's not difficult, but I want to get the core features
first. My plan has been to get core features setup, then get user
requests and have stable places from which to add on. For clips, we
could call them Instances like in SoundObjects, or maybe something
like "Shadows" or "AudioLinks" or something.

For generic operations upon all musical materials, regardless of type:
this is an interesting idea that shows up in the literature, mostly
through Roger Dannenberg's work.  His early papers on
Fugue/Arctic/Canon, and later work with Nyquist discusses how
operations can apply to different kinds of materials.  The examples
mostly discuss how things like stretching materials may do different
things when applied to audio files and note lists, how envelopes may
scale different segments differently, etc.

The implementation of something like that in an object-based system is
tricky, where an object may have to implement an interface, or some
kind of map of object-type to object-transformation can be used.
Using a protocol-based system is essentially the same as the
type/transformation map.

I think this kind of stuff needs further investigation before we can
start to look at implementation.  The best thing for next steps would
be to collect use cases.  Could you list a set of cases in the form
of:

1. user applies "decrescendo" action to note list
2. user applies "decrescendo" action to Audio file

I can imagine too that the "ScoreActions" could be user-definable.
That'd be sort of neat, IMO.  Imagine as a user, you could script a
ScoreAction that would automate a number of tasks, then have that
score action as part of your local score action library that you could
then right-click and apply to a number of items.

Other kinds of actions could be very interesting too. Imagine things
like "vintage" or "radio" as an action that would automatically apply
to selected channels and insert effects pre-configured to band-pass,
distort, etc. I think one of the big companies (Propellerheads, NI,
Arturia) recently came out with a program like this, comparing it to
how Instragram has a set of preset filters for transforming visuals.

steven