octal-dev
[Top][All Lists]
Advanced

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

Re: All in one


From: David O'Toole
Subject: Re: All in one
Date: Thu Feb 22 18:12:02 2001

On Thu, 22 Feb 2001, Marco Ballini wrote:

> pieces from scratch to a finite product. I don't use B*zz, because even
> though it has great features, composing music on it is not so fast. I
> know it is my limit, while others have written good music with it, but I

I've had a lot of discussions about this with people, and users of other
software who've also used Buzz have had the same feeling: good
architecture, but the interface (particularly sequencer) wasn't finished.

My plan is this:

1. In the immediate short term, complete all the parts of the system
neccessary to do *at least* what Buzz can do, in terms of the interface.
That isn't much, so it won't take long :-). This will give us a testing
platform for machines, and will allow us to work out needed extension
parts (Wavetable, GUI layout) etc fairly early.

2. Get feedback and get experiences with everything. Begin implementing
the things that will *really* make octal into a super music system, like
implimenting an alternative sequencer (piano-roll), automations (soon),
and even relaxing the requirement that everything be step-sequenced
(the machine API doesn't know about sequencing issues, so machines won't
have to change to have events in between ticks.)

I can't give a definite yes-or-no on everything yet but there are some
things:

> -- Patterns with a free number of tracks (like in B*zz).

Well, a machine has an editable number of tracks... all that machine's
patterns must follow that.

> -- Each pattern with a different length.

Yes, you will be able to have patterns of any length.

> -- Different tracks in the same pattern using different machines. So

I'm not sure if this will be implemented. I can see how it would work in
an event-list or buzz-style tracker sequencer, but how would you view such
a pattern in a MIDI-style sequencer? I can't give a definite answer yet.

> -- in piano roll style or step sequencer style (like a drummachine).

Yes. I'm planning to actually make the primary pattern editor as a
"horizontal colored bars" type of sequencer, while the basic tracker-style
sequencer will always be there.

However the piano-roll view will not act exactly like ones from MIDI
sequencers, as the architecture is very different. The current plan is to
have multiple notes possible, with track numbers chosen on the fly. At the
moment OX_API makes some very tracking-like assumptions...

> -- A song view where each line correspond to a pattern and the presence of  
> visual blocks

Yes--- a "part" is a little block on screen that can be
dragged/duplicated/shadowed etc. Time goes horizonally. This is a much
more mouse-able interface, and will alleviate the key-hunting of buzz when
you are trying to place a given pattern in an arrangement. (Buzz tended to
renumber patterns when you weren't looking, thus changing the key you
press to get it.) I've seen part arrangers like this on MIDI sequencers,
and even in an abstract sense they are much easier to use.

Another nice benefit is that it shows the length of a pattern... the bar
is just longer.

> You discussed ("Big picture stuff") about the GUI of the machines. It
> seems to me that it won't be possible for machines to show envelopes
> (for
> example an ADSR filter envelope) in a graphical way that correspond to
> the knobs and slider settings.

The envelope problem is indeed tricky... OX_API parameters are scalar
values, and envelopes are vectors. However there could be a global list of
envelopes (hell, we could even use the wavetable itself) and you can
certainly use a wavetable index as a parameter. That's how I'm planning to
do it---certain waves can be marked as envelopes rather than raw sound
signals to be played.

> I used programs that have this feature and I think that it's not only
> an ornament but a useful and fast mean to see what happens on your
> machine while you turn knobs (it is easier to read a graphical envelope

What I'd like to do is add a global envelope editor that all machines can
use. (GTK makes this very easy, there are nice widgets for curves etc.)
Then anytime a machine has an envelope editing task, the global editor can
do it. If that editor is good, this will provide the feedback you talked
about.

> than ten knobs or sliders). It also seems to me that machines won't have
> the opportunity to load data from a configuration file specified by the
> user (in a text box or something) in the GUI of the machine. Am I wrong?
> Do you think this will ever be possible?

A machine's configuration must be completely determined by its parameters.
(If the GUI doesn't know about it, the user can't use it anyway.) This is
required to save songs and have the machines act the same when you come
back---the host must know the state of all the parameters. If things work
this way it isn't hard to make a "Save Patch..." menu option that saves
this state to a file with a standard format. I.e. you can probably put it
on a webpage, it'll be plain text.

That way machine developers don't have to worry about files or formats at
all. Does this work for you?

-- 
@@@ david o'toole
@@@ address@hidden
@@@ www.gnu.org/software/octal




reply via email to

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