Re: [ecasound] Sanitizing the IAM?

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] Sanitizing the IAM?
From: Kai Vehmanen (k@eca.cx)
Date: Sun Mar 25 2001 - 13:56:26 EEST


On Tue, 20 Mar 2001, S. Massy wrote:

> I have written a little something that atempts to draw out a sketch of
> what commands are present as of now and which should be added, I hope

Ok, this is a very good list. First of all, I'd like to focus on two
important issues that might have to be dealt with before 2.0. These are:

1. aio-* problems

Ok, as you've noted, the current scheme a bit confusing. Now how about if
we just drop the whole aio-* cmd set, and replace it with two new:
ai-* for audio input objects, and ao-* for audio output objects?

Both approaches have their benefits. There aren't many differences between
input and output objects, so ai-* and ao-* cmd sets would be identical. On
the other hand, at the chainsetup level, inputs and outputs are clearly
separate groups. This is why we have two 'add' commands. Similarly, two
versions of 'select' are needed because it's possible we have "file.wav"
both as an input and as an output.

Comments? To refresh your memory, here's a list of current aio-*
namespace:

aio-add-input
aio-add-output
aio-select
aio-select-input
aio-select-output
aio-index-select
aio-selected
aio-attach
aio-remove
aio-status
aio-list
aio-forward
aio-rewind
aio-setpos
aio-set-position
aio-getpos
aio-get-position
aio-get-length
aio-wave-edit
aio-register

2. Position info

This is another messy issue. So far, only audio objects have contained
position info. But this gets confusing when we start using position
related cmds at global (getpos), chainsetup (cs-getpos) and chain
(c-getpos) level.

So I propose we add a new chainsetup-level position concept. This would
mean that global position commands would be equal with chainsetup
commands (getpos = cs-getpos, length = cs-length, etc). Also, we should
drop chain-level position commands (c-getpos, c-setpos, etc) altogether.
These seem to just cause confusion. Then we'd have the audio object
cmds (aio-getpos; or ai-getos, ao-getpos, etc).

As a result, we'd only have two ways to either set or query the current
position:

[cs level]
- set position
        - set cs-position
        - set position of all audio objects (inputs and outputs)
- forward, rewind, etc
        - like setting position, except new position is relative
           to the previous current position
- get position
        - get cs-position

[audio obj level]
- set position
        - ... for one input/output
- get position
        - ... of one input/output

-- 
 http://www.eca.cx
 Audio software for Linux!

-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request@wakkanet.fi>.


New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sun Mar 25 2001 - 14:28:16 EEST