Fantasia Feature Request

You name it!
ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Fantasia Feature Request

Post by ccherrett » Sun Sep 07, 2008 12:46 pm

1. Built in keyboard:

Something I found very nice about Giga studio was the built in keyboard that showed the keys that were mapped to a sample as well as keyswitches.

Image

So greyed out keys had nothing mapped to them, white keys were mapped and purple or pink keys where key switches.

Also the note you were curently playing was highlighted in green on the keyboard.

This made figuring out how the sample was mapped very simple. This way you do not have to reference your docs to figure out where keyswitches are.

2. Smaller tracks:

I liked how compact the GS tracks were. I know they were long but they made you scroll less.


Fantasias new speed increase makes it very fantastic to use! Thanks!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: Fantasia Feature Request

Post by dahnielson » Sun Sep 07, 2008 1:27 pm

ccherrett wrote:1. Built in keyboard:

Something I found very nice about Giga studio was the built in keyboard that showed the keys that were mapped to a sample as well as keyswitches.

So greyed out keys had nothing mapped to them, white keys were mapped and purple or pink keys where key switches.

Also the note you were curently playing was highlighted in green on the keyboard.

This made figuring out how the sample was mapped very simple. This way you do not have to reference your docs to figure out where keyswitches are.
Yes, that would be nice. The problem is the separation of front-end (Fantasia) and back-end (LinuxSampler) why all that information need to be communicated over LSCP. But it's doable by extending LSCP, since it's pretty generic and common information that other engines than GIG also can provide. The LSCP command "GET CHANNEL INFO" could include "KEY_RANGE" and "KEY_SW_RANGE" in the response.
ccherrett wrote: 2. Smaller tracks:

I liked how compact the GS tracks were. I know they were long but they made you scroll less.
I don't know if they can get any more compact than this:

Image
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Fantasia Feature Request

Post by grishata » Sun Sep 07, 2008 2:47 pm

ccherrett wrote:Something I found very nice about Giga studio was the built in keyboard that showed the keys that were mapped to a sample as well as keyswitches.
OK, I'll add this to my todo list.

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: Fantasia Feature Request

Post by ccherrett » Sun Sep 07, 2008 2:50 pm

grishata wrote:
ccherrett wrote:Something I found very nice about Giga studio was the built in keyboard that showed the keys that were mapped to a sample as well as keyswitches.
OK, I'll add this to my todo list.
Wow that would be awesome!

Thanks!

Oh and I did not know the channels could get so small :) funny!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: Fantasia Feature Request

Post by ccherrett » Sun Sep 07, 2008 3:59 pm

dahnielson wrote:
Yes, that would be nice. The problem is the separation of front-end (Fantasia) and back-end (LinuxSampler) why all that information need to be communicated over LSCP. But it's doable by extending LSCP, since it's pretty generic and common information that other engines than GIG also can provide. The LSCP command "GET CHANNEL INFO" could include "KEY_RANGE" and "KEY_SW_RANGE" in the response.
The only issue I see here is when you have percussion type samples that are not mapped in a range. The same might go fro key switches. So you might have to send an array type of structure containing the individual mappings for key range and key switches.

What do you think?
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: Fantasia Feature Request

Post by dahnielson » Mon Sep 08, 2008 8:45 am

ccherrett wrote:The only issue I see here is when you have percussion type samples that are not mapped in a range. The same might go fro key switches. So you might have to send an array type of structure containing the individual mappings for key range and key switches.
Didn't think of that. That's true. But at least in the Gigasampler format the keyswitches are always in a consecutive range of keys set at the instrument level, but that might not be true for other formats. I.e. the SFZ fomat, have no key switches defined at the instrument level, everything is defined at the region level. So keyswitches can be mapped to any key for any region, it's the same as for the Kontakt format (as a comparison) that define keyswitches at the group level. In both cases keys can be both mapped and be switches, but I guess that's also true for Gigasampler.

By the way here's the Kontakt 3 equivalent to the GVI screenshot above. Mapped keys are blue, unmapped in white (none shown below) and keyswitches in pink:

Image

Two other things:
  • Use the virtual keyboard to play notes and activate switches (kinda obvious);
  • How to select which sample channel the virtual keyboard show the mapping/switches for? (In Kontakt it's the last one you clicked on.)
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Fantasia Feature Request

Post by grishata » Mon Sep 08, 2008 1:56 pm

My choice would be to not bother with ranges, just to add two new fields to GET FILE INSTRUMENT INFO command:

KEY_BINDINGS or KEY_MAP or something
which will provide a comma separated list of integer values representing the instrument's key bindings in the range between 0 .. 127, reflecting the analog meaning of the MIDI specification.

and

KEY_SWITCH_BINDINGS or KEY_SWITCH_MAP or something
which will provide a comma separated list of integer values representing the instrument's key switch bindings in the range between 0 .. 127, reflecting the analog meaning of the MIDI specification.

If there are no remarks, I'll implement it that way.

grishata
Developer
Posts: 138
Joined: Thu Jan 24, 2008 7:21 pm
Location: Bulgaria
Contact:

Re: Fantasia Feature Request

Post by grishata » Mon Sep 08, 2008 2:33 pm

And one new LSCP command for playing notes. Something like:

SEND CHANNEL MIDI_DATA <msg_type> <channel_id> <arg1> <arg2> ... <argn>

where for now msg_type would be NOTE_ON or NOTE_OFF
So:
SEND CHANNEL MIDI_DATA NOTE_ON <channel_id> <note> <velocity>
SEND CHANNEL MIDI_DATA NOTE_OFF <channel_id> <note> <velocity>

Remarks?

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: Fantasia Feature Request

Post by dahnielson » Mon Sep 08, 2008 2:36 pm

grishata wrote:My choice would be to not bother with ranges, just to add two new fields to GET FILE INSTRUMENT INFO command:

KEY_BINDINGS or KEY_MAP or something
which will provide a comma separated list of integer values representing the instrument's key bindings in the range between 0 .. 127, reflecting the analog meaning of the MIDI specification.

and

KEY_SWITCH_BINDINGS or KEY_SWITCH_MAP or something
which will provide a comma separated list of integer values representing the instrument's key switch bindings in the range between 0 .. 127, reflecting the analog meaning of the MIDI specification.

If there are no remarks, I'll implement it that way.
grishata wrote:And one new LSCP command for playing notes. Something like:

SEND CHANNEL MIDI_DATA <msg_type> <channel_id> <arg1> <arg2> ... <argn>

where for now msg_type would be NOTE_ON or NOTE_OFF
So:
SEND CHANNEL MIDI_DATA NOTE_ON <channel_id> <note> <velocity>
SEND CHANNEL MIDI_DATA NOTE_OFF <channel_id> <note> <velocity>

Remarks?
That sound like the most straight forward yet flexible way to do it.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

ccherrett
Advanced User
Posts: 162
Joined: Wed Jan 23, 2008 11:24 pm
Contact:

Re: Fantasia Feature Request

Post by ccherrett » Tue Sep 09, 2008 4:28 am

grishata wrote:And one new LSCP command for playing notes. Something like:

SEND CHANNEL MIDI_DATA <msg_type> <channel_id> <arg1> <arg2> ... <argn>

where for now msg_type would be NOTE_ON or NOTE_OFF
So:
SEND CHANNEL MIDI_DATA NOTE_ON <channel_id> <note> <velocity>
SEND CHANNEL MIDI_DATA NOTE_OFF <channel_id> <note> <velocity>

Remarks?
Well it sounds like your plan would also give live feedback to Fantaisa as to key pressed for highlighting the keys on the UI.

Very good idea!
Christopher Cherrett
Founder of The Open Octave Project
http://www.openoctave.org

Post Reply