Veli-Pekka Tätilä wrote:


I see, and most apps let you also move the mouse or send out keybord
messages from gamepads, if all else fails. At .least the Gravis software
does. ANother point is that some sighted folks don't like the mouse either.
I do know people who positively hate drag and drop. Usability books also
consider Uis that require right clicks, dragging or chord clicking as
potentially unusable for new mouse users.

As a interface for musical programs I think the mouse has some serious issues in that normal mouse usage takes hardly any advantage of muscle memory at all. This closes the door on on many of the things we associate with becoming proficient (and expressive) with a instrument. That might not be a big deal when the program is used to manage a recording session of a band but when it becomes the main instrument I think it leads to questions... It might sound silly at first but I'm starting to feel it's a real issue that nobody talks about playing Cubase or about virtuosity in Logic.

 
[uses]
Except that I don't seem able to clone my favorite Reaktor modules in ChucK
natively just yet and have to hit the C plus plus territory for that, arrgh
manual memory management be damned. 

That might also be a matter of getting used to ChucK. At first I often tried the known modular-system-style approach to any problem I ran into because that was what I was used to. In my own experience there are often other solutions that tackle problems in a very different way and end up looking more logical and simple.
 


That's right. Although you don't have parens in arithmetic expressions in
modulars, as the signal flow determines precedence. Which reminds me how do
ChucK and Nord Modular handle divide by zero? Most langs I know throw some
sort of exception or call a signal handler. However, obviously the event
divide module in Reaktor cannot simply stop processing at any point,
especially in a live situation. I think IEEE floats have the types not a
number and infinity so maybe dividing by 0 should give infinity, at least
intuitively. Does ChucK support these special values?

In ChucK I simply avoid divide by zero so I'm not sure. Dividing anything (by a variable) at all in the NM is tricky business. You need to build your own cerquit for it and so a divide by zero is what you make it. I don't think I ever needed a literal general purpose divider there but I did once build a modulo function that worked using a sort of feedback loop for recursion.

You can do a lot in the NM but it's not the right tool for every job, math quickly becomes quite inefficient.

> In Tassman I have at times run out of space on the screen in
> complicated patches.
At that point it is time to modularize. Kind of like the old programming
rule of having a method or function limit of about an A4. IF it's longer
than that, that's a bad smell. Of course, there are exceptional situations
e.g. where avoiding the overhead of a function call is a major performance
advantage.

Yes, true, but modularising becomes very hard in graphical systems if there is a lot of interconnection within the system.


[seqs]
Firstly about auditive interfaces.

Totally pointless, at least to most people. But I've noticed after assigning
different beeps for questions, warnings and notifications, that it is far
quicker for me to detect what event it is based on a sound. i also tried
samples of the screen reader saying the type very fast but processing that
took a lot more mental CPu time. So I guess auditory icons might have their
place after all.

They do, but the could be improved a lot.

Often they seem to come down to shouting "watch out!". That's better then no warning at all but not quite as good as shouting "car!", "tiger!" or "jump!". In some situations it might even be worse then nothing at all.
 


Sure, sounds interesting. Which reminds me, I've used the Electribe range of
hardware groove boxes and their lights and LCD displays are big enough for
me to read, if I peer at the device closely. So I find the visual feedback
of selected steps helpful in that context.

I agree, those electribes are a great example, at times I keep mine synced to Ableton just for the running leds and having a constant reminder of where in the loop we are. Much more clear then the little screen icons.

 

I also have an Alesis SR16 and in that counting steps manually, going in and
out of the step edit mode to play is about as clumsy and frustrating as it
gets. All context is dependent on being able to retain a consistant mental
model of where you're going. Correcting a single live-input note timing in a
pattern using such a system is wel, awful.

I'm in total agreement; that one (I know the MMT8) is a nightmare. At least it's nice for all us home brew developers to be able to say we have a better interface then some commercial models with very little effort. <smile>
 


You asked about ideas. I like the fact that you can select a step for
editing and if you hit a key at a time where there's no step, the next one
will be selected. HAndy in deed.

I have something similar already but yes; that's a good idea. Dealing with consecutive events that way seems very natural.

 

Although it's not very accessible, I like the controls in Fruity very much,
too. Rotating the pattern left or right is nice and there's a fill function
which could be described as function fillNth(int startPos, int n) in ChucK.
That's certainly cool and a real time saver even though I'm going to remove
some of the notes it adds and add others, too.

I had something like that in my old version that used the keyboard and I'd like to have it back but I'm running out of buttons on my joystick <smile>. Maybe I need another gaming device!

 

In fact, I've been thinking of creating a Fruity inspired drum machine in
some lang, which just might be ChucK:  IS there already sampler modules and
the ability to layer and add basic effects to drum sounds without having to
know DSP? ChucK could do the timing in this.

Yes, there is. Our sampler is called SndBuf and it's quite good. There are effects and filters amongst the Ugens but you can also and easily use the way you address the SndBuf as a effect itself in the same style as tracker users do.

 

I also have the C64 SID chip on a hardsID PCI card and think it would be
cool to use that as a drum machine. SO I'm thinking of creating a C program
for editing drums in it on the C64 itself. But is it possible to call Win32
DLL functions in ChucK? The HardSID has a Windows DLL interface for reading
and writing the SId registers. In such use, having ChucK supply the timing
could be a great benefit. If DLls are out what options do I have for
inter-process communication within ChucK?


I would think MIDI would be the most obvious choice. Doesn't the hardsID support MIDI?
 
And then it occurred to me. The function keys in a desktop PC keyboard
already have gaps at 4-key intervals. SO Why not use them for randomly
accessing steps as follows:

step key
1-4 f1-f4
5-8 f5-f8
9-B f9-f12
C-F print screen, scroll lock, break, and esc

He he he, Using the esc that way has a certain charm; it places the last step of the loop to the left of the "1" so that's quite natural, even if it does look odd.

 

I'm out of the loop as far as new games go, so I'll use Wikipedia to find
out more.

I think Space Channel 5 might theoretically be playable with no vision at all. At that point it does get a little sad that it's known for it's design but it's remarkable that so many music games depend so heavily on the screen. I think you could play DDR, Guitarhero or Beatmania with the music muted which is actually a bit strange for a music game when it comes down to it.

 

It's totally OT here but incidentally I also have a long thread
going regarding the accessibility of computer games for partially sighted
folks:
http://www.game-accessibility.com/forum/viewtopic.php?pid=1044#p1044

Interesting stuff! I'm going to read that and steal ideas! <grin>
 

[future]
Oh yes, and a polymorphic Santa, depending on locale, <grin>. better play
nice here so we might actually get some presents in a future release of
Chuckmas.

I think Ge's hat is at least as good as Santa's!

Kas.