LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.08k stars 1.01k forks source link

feature request: option to change default octave on the piano roll #4225

Closed Gary-Ice closed 6 years ago

Gary-Ice commented 6 years ago

Hi there,

TL:DR: I'd like to ask for an option which would allow us to change the default octave range on the piano roll.

Longer explanation / clarification: (english is not my native language) I know there is a way to shift octaves on each instrument, but I'd like to have an option on a global level.

I used to work on c4-c6 range with my keyboard (z-i) in other trackers. So when I pressed Q for instance it recorded a C5 note (in fast tracker2 and in FL studio as well). In LMMS it records a C4 and I can't see a way to change it. Can we get setup option to change the default range? It could be under Edit / Settings / midi for a global level or even better a slider on the piano roll UI (and possible hotkeys to raise or lower it on the fly <- This option would be the best (or both :D)) I am not asking for a complete remap option. (although that would be cool too). I just ask a way to shift the octave range we can play with our keyboards from the default c3-c5 to other preferences like C4-C6.

Now our only option is to tinkering with the base note and cheat this way and don't look at the piano keys/notes at all... OR Record it one octave lower (lower than in other trackers I mean) and move all of them up to the wanted level (Ctrl+drag to select than ctrl+up arrow).

tresf commented 6 years ago

@Gary-Ice you have the ability to adjust the global pitch +12 or -12 semitones, turning a C4 into a C3 or a C5. Does this suffice, or do you need the notes to actually appear as C5 in the piano roll?

Screenshot for reference: image

Gary-Ice commented 6 years ago

Hello Tresf,

I knew that one. It's neat anyways. But I would like to see the notes/marks appear as the higher pitched ones too not just the sounds.

I imagine it like if I press a hot-key or push/pull that slider and then record something the notes on the track change. (not just the pitch of the sound, but the mark as well).

Have you used FL studio or fasttracker? those have the keyboard layout Z(Y) -> I on the c4-c6 range therefore Q was the C5.

The ideal something would be if that range could be shifted on the fly while recording like: press a "+" hotkey and then push a note for instance Q that would create a C5 note then press again that "+" hotkey would make the Q to create a C6 note. Also the "-" hotkey would push that down again. Sorry it is hard to explain.

Maybe "the ability to shift octaves on the fly or at least a default value" would be the good therm. I mean a small midi keyboard or the PC keyboard can only hold 2.5 octaves at max. but the range the program can handle is 9. And the current KB map is for the c3-c5 range. What I'd like to see is an option to move/shift that range by octaves form that default c3-c5 to c4-c6 (or even higher or lower). The same range but on another height. So by default pressing a key would create a higher note (not just the sound pitch, but also the placement of the notes as well.)

In this image you can see the result of holding the Q key in LMMS. Should I send you another picture taken from FLStudio? pressingq

Oh and by the way thank you very much. You answered fast. +1 like :D

tresf commented 6 years ago

Ok, in that case, the answer would be no... LMMS doesn't offer this globally. I can say that my MIDI keyboard does offer this feature though, so obtaining a midi keyboard with octave shifting would be a stop-gap until the functionality is added from within LMMS.

Another option is to recompile with the base-note changed. This isn't trivial, so this would only make sense for someone that is comfortable editing the LMMS codebase. The advantage of a person recompiling is they may get comfortable enough to add it in. :)

BaraMGB commented 6 years ago

@Gary-Ice do speak only for the virtual keyboard, your PC-Keybord? You want 2 shortcuts for octave shifting the virtual keyboard on the PC-Keybord?

BaraMGB commented 6 years ago

Related/clones: https://github.com/LMMS/lmms/issues/3302

https://github.com/LMMS/lmms/issues/2894

https://github.com/LMMS/lmms/issues/2486

Gary-Ice commented 6 years ago

@BaraMGB
TL:DR: "when I press QWERTZU I would like to create notes on the 5th octave instead of the 4th octave."

I am using the same KB for creating the music and type this message. But as far as I can understand. Yes an option (preferably with shortcut keys) to shift the virtual keyboard around on my PC keyboard would be it. The thing is I am really not someone who knows LMMS codes (nor C++) so I can not help this way.

I can describe the case from the user side: For me personally one option for example: inside settings, would be enough so I could change my base notes (key Y(Z)) to C4 from C3 That way when I press QWERTZ(Y)U I would create notes on the 5th octave instead of the 4th octave. And everybody who prefer this way could use it just as he/she used to.

If someone would add a function for it, adding 2 shortcut keys couldn't be that much more investment. on the other hand the outcome would be much more sophisticated and flexible.

@tresf Thank you. I knew there is no option for it. I asked about it on discord. as well as I asked about a place where to put this feature request. Also thank you: "...until the functionality is added from within LMMS." I can wait, now that I have hope :D

Anyway thank you for hearing me out. Keep up the good work guys the program is awesome anyways.

Gary-Ice commented 6 years ago

@BaraMGB I can see now this is a broadly wanted feature :D

2894 and #2486 Would be awesome too. But #3302 is almost the same what I'd like to have.

But instead of "just" a temporary modifier I'd like to have a possible "cfg option"or slider for permanent use. IDK how this could be programmed unfortunately.

BaraMGB commented 6 years ago

And here is a related pull request. https://github.com/LMMS/lmms/pull/2505

Gary-Ice commented 6 years ago

@BaraMGB Thank you. (Now I just need to learn what a pull request means) :D

Intense. It is the #2486 request issue. And I was terrified by seeing that "C5 major scale keyboard". if that would be the case I would need to relearn everything I learnt so far about music editing. :) I can understand the motives behind it tho and still think as a useful feature.

But my case is sure as hell easier: @tresf already said it :) "Another option is to recompile with the base-note changed". yep +1 octave to it and it is all done. (well except the flexibility to change it from within the program itself)

I wish I would even know where to look for about that constant. <- BTW Why is it a constant? why not a variable attached to an input field inside the ui with a default value. (just like how tempo is set to 140 by default)

I am gonna wait and in the meantime read into the codes. I never done anything in C++ but it looks a lot like PHP.

BaraMGB commented 6 years ago

I close this because it's a dublicate of https://github.com/LMMS/lmms/issues/3302

abdelfata commented 4 years ago

How can i make the board of piano toys 32 keys connection with Arduino Uno with button for change Octaves