• Welcome to the Pipe Organ Forum! This is a part of the open community Magle International Music Forums focused on pipe organs (also known as "church organs"), organists, organ music and related topics.

    This forum is intended to be a friendly place where technically advanced organists and beginners (or even non-organists) can feel comfortable having discussions and asking questions. We learn by reading and asking questions, and it is hoped that the beginners (or non-organists) will feel free to ask even the simplest questions, and that the more advanced organists will patiently answer these questions. On the other hand, we encourage complex, technical discussions of technique, music, organ-building, etc. The opinions and observations of a diverse group of people from around the world should prove to be interesting and stimulating to all of us.

    As pipe organ discussions can sometimes become lively, it should be pointed out that this is an open forum. Statements made here are the opinion of the poster, and not necessarily that of the forum itself, its administrator, or its moderators.

    In order to post a new topic - or reply to existing ones - you may join and become a member by clicking on Register New User. It's completely free and only requires a working email address (in order to confirm your registration - it will never be given away!). We strive to make this a friendly and informative forum for anyone interested in pipe organs and organ music.

    (Note: If you wish to link to and promote your own website please read this thread first.)

    Many kind regards
    smile.gif

    Frederik Magle
    Administrator

    Krummhorn
    Co-Administrator

GrandOrgue MyOrgan Stops control with ShortcutKey=#ascii

CatOrg

New member
Hello!

I would like to use 3 (computer-) keyboards for stops- and pistons-control. The main aim is (not speaking of this easy and cheap solution) a systematic in labelling the keyboards: left and right (with shift mechanically locked) for stops in Cavaillé-Coll system*, the 3rd kb is dismantled to integrate the console as real buttons, only the electronic is reused.

The problem is that GrandOrgue doesnt make a difference between a "a" (#97) and "A" (#65) (it takes the A and ignores the a) and so on through the whole ascii list, it doesnt match the extended ascii (äöü etc)

And I didnt found any "ShortcutKeys.ini" in the directory of GrandOrgue.

So what can I do?

Francois

*I would like to use a systematic that uses more or less all the keyboard on each side, to match all possible stops, if they exist or not in the actual VPO. for example 1st Man:

left side:
16-1 16-2 16-3 8-4 8-5 8-6 8-7 4-8 4-9 Mixt-0

right side with locked shift - german keyboard layout:
5_1/3-! 4-" 3_1/5-§ 2_2/3-$ 2-% Cornet-& Bomb16-/ Tromp8-( Clair4-)
 

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
Hi CatOrg, welcome to the forum:)

Below is a list of shortcut keys as GO reccognises them.
If you know this then ignore :)

You must open the .organ file with notepad++ for example and type the code on shortcut key = then save, if the set doesb't have any.
But also if it has and you want a different layout.
Avoid small letters , yes. No work.

It's cheep and VERY effective !
I got a second setup with CME M-key 49 note keyboard (USB) and a Roland PK-5A 13note pedalboard for small historical organ sets.
I got my self a small computer keyboard and a separate numeric pad (for general pistons...).
The whole thing works like a dream !
I change everything on the spot.

Best
Panos

Here's the long list :

[ShortcutKeyLabels]
;Numberic (main keyboard):
Key049="1"
Key050="2"
Key051="3"
Key052="4"
Key053="5"
Key054="6"
Key055="7"
Key056="8"
Key057="9"
Key048="0"
;Alpha:
Key065="A"
Key066="B"
Key067="C"
Key068="D"
Key069="E"
Key070="F"
Key071="G"
Key072="H"
Key073="I"
Key074="J"
Key075="K"
Key076="L"
Key077="M"
Key078="N"
Key079="O"
Key080="P"
Key081="Q"
Key082="R"
Key083="S"
Key084="T"
Key085="U"
Key086="V"
Key087="W"
Key088="X"
Key089="Y"
Key090="Z"
;Misc alpha:
Key032="SP"
Key186=";"
Key187="="
Key188=","
Key189="-"
Key190="."
Key191="/"
Key192="'"
Key219="["
Key220="\"
Key221="]"
Key222="#"
Key223="`"
;Number keypad:
Key096="N0"
Key097="N1"
Key098="N2"
Key099="N3"
Key100="N4"
Key101="N5"
Key102="N6"
Key103="N7"
Key104="N8"
Key105="N9"
Key106="N*"
Key107="N+"
Key109="N-"
Key110="N."
Key111="N/"
;Function keys:
Key112="F1"
Key113="F2"
Key114="F3"
Key115="F4"
Key116="F5"
Key117="F6"
Key118="F7"
Key119="F8"
Key120="F9"
Key121="F10"
Key122="F11"
Key123="F12"
;Misc special keys:
Key008="BK"
Key016="SH"
Key017="CT"
Key019="BRK"
Key020="CPS"
Key033="PGU"
Key034="PGD"
Key035="END"
Key036="HOM"
Key045="INS"
Key046="DEL"
Key091="WIN"
Key144="NUM"
Key145="SCR"
 

CatOrg

New member
Only 90 shortcutsKeys? ;-)

Dear Panos,

Best thanks for the list! Reducing my list from 20 (without couplers, without pistons), and using a keyboard mapper, this should work. In fact, my list has around 110 items without pistons...

I could use autohotkey, but then I would have one Autohotkey-file per organ. In a concert, this is not so good.

Who is working at the developpement of G.O.? That would be great to have the full ascii-set...
 

L.Palo

New member
Hi!

This is a "feature" of wxwidgets and the use of EVT_KEY_DOWN events to catch input on the keyboard. It can likely be fixed in one way or another, but not all ascii codes are accessible as keyboard keys either...

Most matters concerning GO is handled on http://sourceforge.net/projects/ourorgan/. If you're interested in having a new feature you can always submit a feature request there.

Kind regards

Lars P
 

e9925248

New member
Who is working at the developpement of G.O.? That would be great to have the full ascii-set...

GO identifies the pressed key (regardless what composition characters like Shift, Ctrl, ... are in use). Shortcuts are an replacement for physical control elements and they should be directly accessible. If you map two elements, you can't toggle them at once.

Don't know if it helps you: The multiple panel support in GO trunk recognize shortcut keys per window/panel => Depending on which window has the focus, a key can be mapped to a different object.

PS:
The keyboard just sends key press events - based on the keystream the OS needs to track the modifier key state and generate the logical characters. The OS interfaces are not designed to differentiate between different keyboards. So I have doubts, that more than one keyboard with the different modifier keys fixed is working flawlessly.
 

CatOrg

New member
Tomorrow I will buy an english external keyboard (to insert in my console) but I dont understand all the codes of Panos.

I use this ascii-chart here: http://www.asciitable.com/

Alpha-Num is clear, misc-Alpha too

Number-Keyboard and functions-keys seems to overwrite partly the minuscules (how to use F1? help is anyway useless...),

But when it comes to "Misc special keys", I have no clue. The table has totally different assignation for these numbers...

Who can help?

And then a Midi-Channel 5 question:

What are programm change (next-previous) good for? I thought this moves forwards-backwards the pistons, but it doesnt works this way in my case... ?
 
Last edited:

Dorsetmike

Member
I use programme change commands (Cx) on the channel for each manual for setting divisionals; I set up stop combinations for divisionals to GO memory for most works I play. Divisionals are not limited to 8 per manual, you can set up more in the .organ file, I have used 10 on one of my .organs.

Not being a keyboard player I "play" GO from midi files, I edit the .mid channel for each manual to add Cx commands to change divisionals where needed. I generate the midi files from notation software (Finalé Songwriter) could probably do the same from a PDF file print scanned into Smartscore.
 

CatOrg

New member
2 or 3 keyboards doesnt work without a trick. When only one keyboard sends shift, then all keyb. are shifted. My way would be then to do my own keyboards, with 2 switches per key (one for shift - 1 mm higher than the one for the key). Buuuut, for practicing organ there is no need, 90 stops and pistons are enough. For concert use, there would be the forward - backward I hope (with all the general pistons and divisionals it is ok, either if modern organs have 4000 or more pistons). This is more for didactical presentations that it would be nice to have all stops directly accessibles.

But for the moment I would be happy with all 90 shortcuts if possible, meaning using these Number-Keyboard and functions-keys and "Misc special keys"...
 

e9925248

New member
And then a Midi-Channel 5 question:

What are programm change (next-previous) good for? I thought this moves forwards-backwards the pistons, but it doesnt works this way in my case... ?

If it is GO trunk, then please note that the global MIDI settings are only used during the first load of an organ. Afterwards, you need to right click on the element (Setter from the panel menu).

PS: If you needs more controls for stops, GO trunk allows to map them to an unused manual keys too - just select a 9x toogle type.
 

Ghekorg7 (Ret)

Rear Admiral Appassionata (Ret)
Hi,

On a very simple setup I'm using :

A 32bit win7 lap
GO software
Asio4all and Loopmidi
CME M-Key 49note USB keyboard
Roland PK-5A 13note pedalboard with EMU x-midi to USB cable
Extra numeric pad (USB) (just 7euros)
4 to 1 USB hub

I created a simple Rennaissance Organ 1m/p and 12 generals plus one FULL general and one general Cancel.
These have shortcuts for the numeric pad (96 to 111), which is attached to CME keyboard and is sooo conveniant to change registrations on the spot.
Or I could assign shortcuts to the organ stops from this num pad, as there are no more than 15 :) and being more close to reality (no generals)
Also for a performance using the program is good. Click SET then press shift and hold it and press the right arrow to the next program.

Now for super sound and pro recording capabilities I have Reaper 4 and its ReaRouteAsio driver installed.Set audio to Asio 16bit/44100 128buffer size = 6ms latency.
Set GO's audio to ReaRouteAsio, midi in from LoopMidi, create a track for GO's audio, a second track for VST reverb (Lexicon here) and a third for midi.
Here set midi in from CME and midi hardware out to LoopMidi(>GO).
Just Perfect.

This setup is good for Rennaissance , early Baroque works and the cost to create it low. Num pad does the work with just 7 euros.

Best
Panos
 

e9925248

New member
I have turned the key mapping table of GO into something more readable:

http://ourorgan.svn.sourceforge.net...andorgue/KeyConvert.h?view=markup&pathrev=735

It maps from keys physically present on the keyboard - it produces the same results regardless from the state of any modifier keys like shift.

The case statement lists the wx-Widgets Key symbol (either ASCII character enclosed by ' or a special symbol name, see http://docs.wxwidgets.org/stable/wx_keycodes.html) to be mapped, the following return statement the value for the Shortcut statement in GO (numeric value 0-255).

The structure is simple, so it should be understandable for non-programmers too.

If somebody thinks, that a key is missing or some existing keys should be changed, please let me know. Useful changes will be included into the next GO release.
 

Krzysztof

New member
I would like to use 3 (computer-) keyboards for stops- and pistons-control.

Just to share my discoveries: I had a similar issue about a two years ago. My task was to create some kind of midi controller based on multiple computer keyboards.
It turns out that one can distinguish between phisically different keyboards in Windows (since XP, probably). With proper preparations, an application can be enabled to receive messages like 'key X pressed on keyboard Y'.
My piece of software is working well on Vista, I used up to three keyboards.
There is one great disadvantage - it's not likely that the code can be built into GrandOrgue. So GrandOrgue would have to run in background, with custom app possessing keyboard focus.
If you think that could be an option for you, try searching about Raw Input interface in Windows API; I can also provide with further details.
 

e9925248

New member
If you think that could be an option for you, try searching about Raw Input interface in Windows API; I can also provide with further details.

I'm aware of the Raw Input APIs of Windows. Linux has something similar too.

GO is cross plattform (Linux, Windows, Mac) - therefore we try to avoid plattform specific APIs.
 
Top