rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
495 stars 86 forks source link

MIDI recording with countdown issue #383

Closed TatriX closed 1 year ago

TatriX commented 1 year ago

Hi! Just trying out qtractor, and so far it looks amazing!

To the issue: I've enabled a metronome with countdown (4 beats) and external MIDI clock. Then I've recorded a midi clip via external midi keyboard. But it seems that 4 beats of the countdown get recorded into the MIDI clip as well, as such creating 4 beats of silence in the beginning of the clip. Combined with looping and punch-in-out this has created a "cropped" midi clip.

Is that something expected? Thanks!

rncbc commented 1 year ago

yes, it's kinda expected:

the MIDI metronome do send actual beat/bar notes to the the default or first MIDI output bus/port, if not set to have a dedicated one, so these will be played on the external MIDI equipment for sure, even so the main playback is not yet rolling, as is the case with the so called count-in period.

so, it's here recommended to either: a. set the MIDI metronome to its own dedicated output ports so that not to interfere with main MIDI playback; b. use the audio metronome instead.

hth.

TatriX commented 1 year ago

Hm, that's what I've actually done. I send metro to channel 15, notes come from channel 1 and go to channel 9.

I'll try audio metronome then. Thanks!

TatriX commented 1 year ago

Tried audio metronome. It seems to have the same issue? I started playing immediately after 8 beats of preroll, but recorded midi clip has 8 beats of silence end then I guess due to punch-out and/or looping the rest is clipped.

If it's unclear what is happening, perhaps I can try making a screen recording if that helps?

rncbc commented 1 year ago

If it's unclear what is happening, perhaps I can try making a screen recording if that helps?

yes please. thanks

TatriX commented 1 year ago

https://youtu.be/ZXGZ6yYCcRQ Hope it's clearer now :)

rncbc commented 1 year ago

gotcha!

now I see what you mean: Count-in is delaying all MIDI recording to the same pre-roll period and that's definitely a bug!

so, for the time being, do not count-in on recording MIDI; recording audio is OK though.

until the next hot-fix release that is...

thanks for the patience and precious feedback really appreciated

TatriX commented 1 year ago

Perfect! I'm happy to build master branch to do the testing whenever the patch is available. Thank you for such a quick response!

rncbc commented 1 year ago

Perfect! I'm happy to build master branch to do the testing whenever the patch is available. Thank you for such a quick response!

there it is one hopeful attempt: https://github.com/rncbc/qtractor/commit/e82258c thanks

TatriX commented 1 year ago

Trying to compile master cmake -B build. This fails with:

CMake Error at src/CMakeLists.txt:323 (qt_add_translation):
  Unknown CMake command "qt_add_translation".
TatriX commented 1 year ago

Apparently one needs to add COMPONENTS LinguistTools to get find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

TatriX commented 1 year ago

I think it works! Great job! I had to carefully put edit head/tail, loop start/end and then all good. Initially I had a few cases when I got no notes recorded, because aforementioned ranges weren't aligned. Will test more carefully tomorrow.

BTW, first MIDI note doesn't always play on the first loop after recording has finished due to punch-out when looping is enabled.

rncbc commented 1 year ago

thanks, anyway hotfix v0.9.33 is already out

enjoy