kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
835 stars 36 forks source link

Loops in sequencer are not tight #1430

Open yust1n opened 5 months ago

yust1n commented 5 months ago

1. Steps to reproduce the problem.

Setting the grid to line and shorten the loop by 1 line plays fine.

kmatheussen commented 5 months ago

I can't reproduce that. Can you look at the attached song and modify it so that it exposes the bug? issue1430.rad.gz

yust1n commented 5 months ago

Found it ! I set Transport to Jack in Preferences->Sequencer a while ago. Didn't expect this to cause problems since Radium is the Jack Time Master. Thanks for confirming that I am the only who has/had this issue.

kmatheussen commented 5 months ago

Yeah, there's no support for loops in Jack transport (as far as I know), so you have to wait for jack to repositioning the play position, which can take some time.

On Sun, Jan 28, 2024 at 10:28 PM yust1n @.***> wrote:

Closed #1430 https://github.com/kmatheussen/radium/issues/1430 as completed.

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1430#event-11620944744, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J4AUQZGO32X2G2IUQ3YQ27F7AVCNFSM6AAAAABCKWTSI6VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGYZDAOJUGQ3TINA . You are receiving this because you commented.Message ID: @.***>

yust1n commented 5 months ago

http://users.notam02.no/~kjetism/radium/documentation/index.html?page=timing "Note that Radium always uses it's own timing. Radium never asks Jack Transport for timing." Hmmm ....

kmatheussen commented 5 months ago

http://users.notam02.no/~kjetism/radium/documentation/index.html?page=timing "Note that Radium always uses it's own timing. Radium never asks Jack Transport for timing." Hmmm ....

Note the definition of timing in the top of the page: "Timing is tempo and rhythm". It doesn't make sense for Radium to let other programs override tempo and rhythm in Radium. If you have set the tempo to 120BPM in Radium, that's what Radium is going to uses. Radium uses jack transport for starting and stopping playback.

yust1n commented 5 months ago

Thanks for your patience. Ardour even disables looping completely when using jacktransport. I just wonder why things like this not got fixed in jack2. I have to lower my expectations :D

yust1n commented 5 months ago

Seems like the bug is "hunting" on me. I removed all unnecessary from testloop.rad.gz and did a small screenrecording radiumloop.mp4.gz. Additionally I placed a small gap inbetween the blocks to assure that there is actually nothing been played but still the first note of the next block gets triggered. Trying to reproduce this behaviour in a new song failed unless the playback gets started via mousewheel. For now I will just ignore it since I want to finish atleast one song with Radium :D

kmatheussen commented 4 months ago

Note to self: Before closing this issue, loop start/end positions needs to be fixed. They are positioned wrongly when using different samplerate than the song.

kmatheussen commented 4 months ago

Regarding the issue, it seems quite messy trying to fix this. The problem is that it takes some time before you get a message back from jack transport to stop playing, and then we have already played some stuff we don't want to play.

I think the better solution is to inform the user somehow that you get these types of problems if using jack transport.

kmatheussen commented 4 months ago

Oh, I'm sorry. The bug demonstrated in testloop.rad happens even if NOT using jack transport. Yeah, that shouldn't happen. :-)

yust1n commented 4 months ago

You could replicate it \o/ I already thought this happens only to me and ofcourse I wouldn't show this to you if I'd still use jacktransport.