Keyboard GUI design
Hello everyone,
I'm trying to create an on screen gui keyboard as a alternative to the kslider object by using individual pictctrl buttons for each key. So far i've been unsuccessful. If anyone has any ideas on how to go about doing this I would be very pleased to hear from you. Perhaps there is an alternative external to the kslider object which allows you to load your own pict files?
Many thanks
Alex
It depends what you're after, but one possibility is to use matrixctrl in
dial mode.
I made a vertical keyslider this way (or rather a group of 'em), by copying
the keyslider graphic and then manipulating it in Photoshop. It's a pretty
tedious process if you want to go the full 88 key monty, and it does have
the major disadvantage that you have to click n' drag, rather than being
able to click on individual keys.
You could use pictslider and that would get round the the above problem
because you can have the 'knob' (ie. Selected key) jump to click location,
and you could use the y-axis to send velocity data. The problem there is
what to do for the knob graphic and/or displaying the selected key.
Other than that, I guess there's LCD...
Cheers
Roger
On 22/12/06 11:22, "Alex" wrote:
>
> Hello everyone,
>
> I'm trying to create an on screen gui keyboard as a alternative to the kslider
> object by using individual pictctrl buttons for each key. So far i've been
> unsuccessful. If anyone has any ideas on how to go about doing this I would be
> very pleased to hear from you. Perhaps there is an alternative external to the
> kslider object which allows you to load your own pict files?
>
> Many thanks
>
> Alex
Hi Roger,
Thank you very much for your reply. I'll try out what you've suggested. The main problem I've been having is getting the images to send midi information. I've attached a jpg of what I've done so far. I've managed to trigger the images through playing the corresponding keys on a midi keyboard. However, I'm getting stuck notes coming out of the ddg.mono object as at times the velocity output is 1 even though it's received a 0 at the velocity input. I'm relatively new to Max/MSP so there may be errors in my programming.
Thanks again
Alex
[img]index.php?t=getfile&id=382&private=0[/img]
Hi Roger,
Thank you very much for your reply, i'll try out your suggestions. The main problem i've been having is with midi information. I've attached a jpg of what i've done so far. I've managed to get the images to respond when the corresponding keys on a midi keyboard are pressed. However, I'm getting stuck notes at the output of the ddg.mono object. At times the velocity output of the object is 1 even though it's received a 0. I'm relatively new to Max/MSP so there may be errors in my programming.
Thanks again
Alex
[img]index.php?t=getfile&id=383&private=0[/img]
Quote: alex3lucas@gmail.com wrote on Fri, 22 December 2006 04:22
----------------------------------------------------
> Hello everyone,
>
> I'm trying to create an on screen gui keyboard as a alternative to the kslider object by using individual pictctrl buttons for each key. So far i've been unsuccessful. If anyone has any ideas on how to go about doing this I would be very pleased to hear from you. Perhaps there is an alternative external to the kslider object which allows you to load your own pict files?
>
> Many thanks
>
> Alex
----------------------------------------------------
i have been making some "keyboards" from picturecontrol
objects in toggle mode.
first make the white keys, then put the black keys on top.
make one octave only and then copy - or even make a
bpatcher of one octave.
if you want velocity, cover each "key" object by a
transparent button object, which outputs a number for
pixel heigh (instead of just "1" like pctcontrol)
if you hate it this way, and a 2 or 3 color palette fits
your GUI needs, think of using lcd - also one lcd object
or bpatcher per octave.
Hi Roman,
Thanks very much for your suggestions, I've managed to construct a very basic keyboard through using pictcontrol buttons in button mode. The problem is with the data the buttons are sending. I'm trying to build a sh-101 emulation so i've been using the ddg.mono object as the synth is monophonic. Some of the buttons work fine and send pitch and velocity data, however some will not send information until the button is released. It's slowly sending me mad. Any ideas? There's a jpg attached on previous posts
Thanks again
Alex
You'll find here an example:
Should I remove the patcher I posted?
Many downloads and no one to send a quick feedback :-(
Hi Philippe,
Thankyou very much for the example patch and your suggestions. Sorry I haven't replied to you sooner, I've been quite busy with festivities. Unfotunately my windoze pc dosen't recognise the files you posted but i'll take a look on a Macintosh computer over the next couple of days.
Many thanks and merry christmas
Alex
Thanks Philippe for the keyboard!
Sorry for slow response - it was Christmas ;-) (smiley)
(NB PC users should add the file extension .PAT to the file "Custom KB")
Hey, I didn't post to get 'thanks'. (well, that's nice)
But about feedback: what can you do with, or from, this patcher.
(such avoiding duplicated notes when dragging the cursor horizontally, etc.)
Et voila, I forgot the suffix for Peace-Ease ;-)
Bye,
Philippe
Here it is for convenience.
Hi Philippe,
Sorry it's taken me an extreemly long time to reply. But just wanted to say thanks for your patch, it's exactly what I needed and worked fine. Unfortunatley I didn't have time to implement it as I was working to a deadline for uni. Still, I'll definatley make use of it in the future.I managed to get around the problems I was having with my patch but wasn't as good as yours due to the fact that you couldn't drag the mouse across the keys triggering each one on the way. I've attached a jpg of the finished design.
Thanks again
Alex
Hi Alex,
Nice GUI, well-done!
About my custom keyboard, it was just an attempt to get something different. And I didn't have the time to complete the patcher to remove duplicated notes when dragging the mouse horizontally.
At least, it gives an idea... to be continued :-)
So long,
Philippe
I like the idea of having two modes: single-click per key, and a "drag" mode (use a large transparent button and extract coordinates). Show the big button in that mode, then hide it for single-click mode, works well.
-CJ