Linuxmusician01 wrote:Hydrogen still seems to miss a beat every now and then though... Or replaces the beat (bass drum) partly with some sort of noise...
I had this problem when I was using Fedora 30 with just a regular kernel (was trying Planet CCRMA). If I pick up the Hydrogen window and drag it around the screen, the sound deteriorates completely. Getting the RT kernel installed there really helped. Then it locked up completely. So I went to Ubuntu Studio with "low-latency" if not the RT kernel, and Hydrogen is behaving itself. Are you using an RT or LL kernel?
Anyway, I decided to go all command line (I actually am somewhat of an embedded Linux nerd).
Code: Select all
tail -f ~/.log/jack/jackdbus.log | grep -v SocketServerChannel
Filters out a lot of the every-ten-seconds messages and lets me focus on the Jack Transport stuff.
Starting off:
QJackCtl and Hydrogen are running. Hydrogen is stopped.
Hydrogen is set for Jack Transport on, Jack Timing Master off.
Click on QJackCtl "Play":
Code: Select all
Sat Sep 7 09:07:50 2019: Jack: transport command: Transport start
Sat Sep 7 09:07:50 2019: Jack: transport stopped ==> starting frame = 2724608
Sat Sep 7 09:07:50 2019: Jack: MakeAllStartingLocating ref = 2
Sat Sep 7 09:07:50 2019: Jack: MakeAllStartingLocating ref = 3
Sat Sep 7 09:07:50 2019: Jack: SyncTimeout fSyncTimeout = 10000000 fSyncTimeLeft = 1875
Sat Sep 7 09:07:50 2019: Jack: CheckAllRolling
Sat Sep 7 09:07:50 2019: Jack: transport starting ==> rolling fSyncTimeLeft = 1874
Hydrogen is playing.
Click on QJackCtl "Play" (again, to stop):
Code: Select all
Sat Sep 7 09:08:45 2019: Jack: transport command: Transport stop
Sat Sep 7 09:08:45 2019: Jack: transport rolling ==> stopped
Sat Sep 7 09:08:45 2019: Jack: MakeAllStopping ref = 2
Sat Sep 7 09:08:45 2019: Jack: MakeAllStopping ref = 3
Sat Sep 7 09:08:45 2019: Jack: MakeAllStopping ref = 4
Sat Sep 7 09:08:45 2019: Jack: MakeAllStopping ref = 6
Hydrogen stops.
Press "Play" on Hydrogen:
Code: Select all
Sat Sep 7 09:09:40 2019: Jack: transport command: Transport start
Sat Sep 7 09:09:40 2019: Jack: transport stopped ==> starting frame = 5393920
Sat Sep 7 09:09:40 2019: Jack: MakeAllStartingLocating ref = 2
Sat Sep 7 09:09:40 2019: Jack: MakeAllStartingLocating ref = 3
Sat Sep 7 09:09:40 2019: Jack: MakeAllStartingLocating ref = 4
Sat Sep 7 09:09:40 2019: Jack: MakeAllStartingLocating ref = 6
Sat Sep 7 09:09:40 2019: Jack: SyncTimeout fSyncTimeout = 10000000 fSyncTimeLeft = 1875
Sat Sep 7 09:09:40 2019: Jack: CheckAllRolling
Hydrogen is playing.
Press "Play/pause" on Hydrogen:
Code: Select all
Sat Sep 7 09:10:30 2019: Jack: transport command: Transport stop
Sat Sep 7 09:10:30 2019: Jack: transport rolling ==> stopped
Sat Sep 7 09:10:30 2019: Jack: MakeAllStopping ref = 2
Sat Sep 7 09:10:30 2019: Jack: MakeAllStopping ref = 3
Sat Sep 7 09:10:30 2019: Jack: MakeAllStopping ref = 4
Sat Sep 7 09:10:30 2019: Jack: MakeAllStopping ref = 6
Hydrogen is paused.
Press "Stop" on Hydrogen:
Code: Select all
Sat Sep 7 09:11:13 2019: Jack: New pos = 0
Sat Sep 7 09:11:13 2019: Jack: transport stopped ==> stopped (locating) frame = 0
Sat Sep 7 09:11:13 2019: Jack: MakeAllLocating ref = 2
Sat Sep 7 09:11:13 2019: Jack: MakeAllLocating ref = 3
Sat Sep 7 09:11:13 2019: Jack: MakeAllLocating ref = 4
Sat Sep 7 09:11:13 2019: Jack: MakeAllLocating ref = 6
Time readout in QJackCtl and Hydrogen goes to 00:00:00, still stopped.
All this is as expected so far.
Now, starting luppp (that is, running the program):
A whole ton of initialization stuff spews out. Here's the very end of it. I'll dig in deeper here if it seems warranted.
Code: Select all
Sat Sep 7 09:12:22 2019: Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 4 client = a2j name = a2j notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 5 client = Luppp name = Luppp notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 6 client = Hydrogen name = Hydrogen notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 6 client = Hydrogen name = Hydrogen notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 5 client = Luppp name = Luppp notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 4 client = a2j name = a2j notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Sat Sep 7 09:12:22 2019: Jack: JackEngine::ClientNotify: no callback for notification = 4
Sat Sep 7 09:12:22 2019: Jack: JackEngine::ClientNotify: no callback for notification = 4
Sat Sep 7 09:12:22 2019: Jack: JackClient::ClientNotify ref = 2 name = dbusapi notify = 4
Sat Sep 7 09:12:22 2019: Jack: JackClient::kGraphOrderCallback
Sat Sep 7 09:12:22 2019: Jack: JackExternalClient::ClientNotify ref = 3 client = qjackctl name = qjackctl notify = 4
Sat Sep 7 09:12:22 2019: Jack: JackEngine::ClientNotify: no callback for notification = 4
Sat Sep 7 09:12:22 2019: Jack: JackEngine::ClientNotify: no callback for notification = 4
Sat Sep 7 09:12:22 2019: Jack: JackEngine::ClientNotify: no callback for notification = 4
I loaded a prerecorded session in luppp.
The transport says "Stop" but it is not currently running as I haven't triggered a scene.
Triggering the scene. Loops play in luppp but nothing happened over Jack at this point.
Press luppp "Stop" button. Nothing happens on Jack.
Press luppp "Play" button. Hydrogen buzzes.
Code: Select all
Sat Sep 7 09:17:16 2019: Jack: transport command: Transport start
Sat Sep 7 09:17:16 2019: Jack: transport stopped ==> starting frame = 12725760
Sat Sep 7 09:17:16 2019: Jack: MakeAllStartingLocating ref = 2
Sat Sep 7 09:17:16 2019: Jack: MakeAllStartingLocating ref = 3
Sat Sep 7 09:17:16 2019: Jack: MakeAllStartingLocating ref = 4
Sat Sep 7 09:17:16 2019: Jack: MakeAllStartingLocating ref = 5
Sat Sep 7 09:17:16 2019: Jack: MakeAllStartingLocating ref = 6
Sat Sep 7 09:17:16 2019: Jack: SyncTimeout fSyncTimeout = 10000000 fSyncTimeLeft = 1875
Sat Sep 7 09:17:16 2019: Jack: CheckAllRolling
Sat Sep 7 09:17:16 2019: Jack: transport starting ==> rolling fSyncTimeLeft = 1874
Press luppp "stop" button:
Hydrogen buzzing stops.
Code: Select all
Sat Sep 7 09:17:20 2019: Jack: transport command: Transport stop
Sat Sep 7 09:17:20 2019: Jack: transport rolling ==> stopped
Sat Sep 7 09:17:20 2019: Jack: MakeAllStopping ref = 2
Sat Sep 7 09:17:20 2019: Jack: MakeAllStopping ref = 3
Sat Sep 7 09:17:20 2019: Jack: MakeAllStopping ref = 4
Sat Sep 7 09:17:20 2019: Jack: MakeAllStopping ref = 5
Sat Sep 7 09:17:20 2019: Jack: MakeAllStopping ref = 6
Press QJackCtl "Play" button. Hydrogen buzzes.
Code: Select all
Sat Sep 7 09:19:20 2019: Jack: transport command: Transport start
Sat Sep 7 09:19:20 2019: Jack: transport stopped ==> starting frame = 12887040
Sat Sep 7 09:19:20 2019: Jack: MakeAllStartingLocating ref = 2
Sat Sep 7 09:19:20 2019: Jack: MakeAllStartingLocating ref = 3
Sat Sep 7 09:19:20 2019: Jack: MakeAllStartingLocating ref = 4
Sat Sep 7 09:19:20 2019: Jack: MakeAllStartingLocating ref = 5
Sat Sep 7 09:19:20 2019: Jack: CheckAllRolling
Sat Sep 7 09:19:20 2019: Jack: transport starting ==> rolling fSyncTimeLeft = 1874
Press QJackCtl "stop" button:
Hydrogen buzzing stops.
Code: Select all
Sat Sep 7 09:19:23 2019: Jack: transport command: Transport stop
Sat Sep 7 09:19:23 2019: Jack: transport rolling ==> stopped
Sat Sep 7 09:19:23 2019: Jack: MakeAllStopping ref = 2
Sat Sep 7 09:19:23 2019: Jack: MakeAllStopping ref = 3
Sat Sep 7 09:19:23 2019: Jack: MakeAllStopping ref = 4
Sat Sep 7 09:19:23 2019: Jack: MakeAllStopping ref = 5
Sat Sep 7 09:19:23 2019: Jack: MakeAllStopping ref = 6
Nothing is jumping out at me as obviously different between the good and bad cases. If I turn Jack transport OFF in Hydrogen though, it doesn't buzz. Obviously it doesn't sync either.