denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] directives.


From: alex stone
Subject: Re: [Denemo-devel] directives.
Date: Thu, 24 Dec 2009 12:56:46 +0000

Richard, thanks for the example.

For the channel example you give, does "0" at the end imply channel 0,
or a value that asks for a user value?

In other words, do i need to create one "define channel" script in
which i can change the value each time i use it,
or do i need to create 16 of these, representing the 16 midi channels?

Alex.

On Thu, Dec 24, 2009 at 12:40 PM, Richard Shann
<address@hidden> wrote:
> On Thu, 2009-12-24 at 13:55 +0300, alex stone wrote:
>> With a willingness to contribute to the denemo project i'm trying to
>> get my non coding head around Directives.
>>
>> I have a question at this point.
>>
>> Can a directive (read set of directives) take more than 1 user input
>> directive in the same set?
> At the moment there are only a few pretty simple ways of taking data
> from the user. I suggest using one of them, despite clunkiness, in the
> sure & certain knowledge that we can expand the set to anything we want.
> But until we have some scripts in use that look to clunky, no-one will
> be tempted to write support for nicer input (it is not that it is
> difficult, but until we have concrete examples needing it, I don't
> expect it to happen).
> so:
>
>>
>> Use Case.
>>
>> I'd like to build a script that enables me to input, if chosen,
>> channel, bank, patch, and type of CC message. (Volume=CC7,
>> Expression=CC11, etc)
>>
>> When i move the cursor to a note, at which i would add these values
>> for types of data, i'll need to manipulate the value of each element,
>> in one pass, as follows;
>>
>> Channel <n> (represented as a channel value between 1-16)
>>
>> then i would move to
>>
>> Bank LSB <n> (represented as a midi integer between 0-127)
>>
>> then i would move to
>>
>> Patch <n> (represented as a midi integer between 0-127)
>>
>> then i would move to
>>
>> Midi CCtype (represented as a midi integer between 0-127)
>>
>> then i would move to
>>
>> the midi CC type value (represented as a midi integer between 0-127)
>
> The clunky way is
> (define channel (d-GetUserInput "Channel Selection" "Give Channel (0-127): " 
> "0"))
> and then two more of these getting bank and patch.
>>
>>
>>
>> Can the above be written as a single directive
> a directive is what you are going to create in the course of your script
> (indeed you may be going to create several). I think the question
> intended was "Can the above be written as a single procedure?" which
> really means, do we have a command like (d-GetUserInput ...) that takes
> a set of names, prompts, initial values (ranges, types ...) and returns
> a list of values. And the answer is not yet. They won't turn up until we
> have a clunky way of doing something really useful.
> As long as you put the little sequence of (d-GetUserInput...)s together
> (in a procedure even) it will be trivial to upgrade when a non-clunky
> input procedure arrives.
>
> Richard
>
>
>



-- 
www.openoctave.org

address@hidden
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]