Menu

#1685 Number of submaster outs do not match number of JACK audio ports

None
closed
None
5
2024-06-09
2024-04-13
musewhirl
No

Bug #1658 was opened because any sessions which had the RG preference to create submasters would have no audio out at all. With RG v23.12 that was fixed. As far as I can tell submasters work like it did in v18.12, but I never need submaster outs.

Recently when listing ports in JACK, I noticed a mismatch between the number in the Audio Mixer and the number shown by JACK, which lists them in pairs as follows"

rosegarden:submaster 1 out L
rosegarden:submaster 1 out R
...

Steps to reproduce the mismatch:

  1. Fresh install of RG using v23.12 or sourceforge master
  2. In preferences require RG to create JACK submasters
  3. In the Audio Mixer's Settings, select eight submasters
  4. Now save that session as the new autoload
  5. Close and Open RG

At this point, JACK lists the expected eight submaster ports (four pairs of L/R outs) and sessions created and saved will also show eight.

Now load a v18.12 session which also has eight submasters. Only four submasters show up in JACK. Workflows regarding submasters seem to be fine internally to RG. The mismatch might also occur with sessions created in v20.12 and 22.12 and loaded into v23.12 (or sourceforge master).

The question is whether it has anything to do with the fix? Anyone who needs to connect to eight submasters would find half of them missing. I can no longer compile v18.12 in my environment to create sessions and list JACK ports to find out.

Discussion

  • Philip Leishman

    Philip Leishman - 2024-04-13

    I cannot reproduce this.
    Note - with 8 submasters there are 16 jack ports - left and right for each submaster.
    I could compile 18.12 and I created a file with 8 submasters,
    When I load it in the latest version (master) of rosegarden I get all 16 jack ports.
    Can you upload a file which has this problem ?

     
  • musewhirl

    musewhirl - 2024-04-14

    I too thought that perhaps there was something wrong with the rg file. Anyway, here is the attached rg along with the steps:

    1. I'm using sourceforge master: [d0760d]
    2. Start with a fresh install i.e. no autoload, no rosegardenmusic directories
    3. Start JACK audio
    4. Start RG
    5. Hit OK on the welcome splash screen
    6. Edit/Preferences/Audio
    7. I noticed that Start JACK automatically is checked. I never noticed that before. I thought the default was not to start JACK? Well it doesn't affect the test
    8. I unchecked that box anyway, since I have JACK running already
    9. In "Create JACK outputs" check both "for individual audio instruments" and "for submasters"
    10. Click Apply and OK
    11. Open Audio Mixer and its Settings tab and set number of submasters to eight
    12. Check number of JACK submaster ports (e.g. jack_lsp) and eight submasters are already there
    rosegarden:submaster 1 out L
    rosegarden:submaster 1 out R
    rosegarden:submaster 2 out L
    rosegarden:submaster 2 out R
    rosegarden:submaster 3 out L
    rosegarden:submaster 3 out R
    rosegarden:submaster 4 out L
    rosegarden:submaster 4 out R
    rosegarden:submaster 5 out L
    rosegarden:submaster 5 out R
    rosegarden:submaster 6 out L
    rosegarden:submaster 6 out R
    rosegarden:submaster 7 out L
    rosegarden:submaster 7 out R
    rosegarden:submaster 8 out L
    rosegarden:submaster 8 out R
    
    1. Open the attached submasters.rg
    2. A dialog appears asking whether you want to save the current session
    3. Say no...it has served it's purpose, and saving and using it as an autoload does not change the test result
    4. Open Audio Mixer and note it has eight submasters, but jack_lsp produces only four (for me anyway):
    rosegarden:submaster 1 out L
    rosegarden:submaster 1 out R
    rosegarden:submaster 2 out L
    rosegarden:submaster 2 out R
    rosegarden:submaster 3 out L
    rosegarden:submaster 3 out R
    rosegarden:submaster 4 out L
    rosegarden:submaster 4 out R
    

    NB: I had to clean up the session for the upload to remove any local information , but that should not affect the test. Also, I saw no errors in the logs and they don't even mention submasters.

    As to you going back to v18.12 to try and duplicate the problem session. Well, the sessions actually behave perfectly fine. I recall starting with RG new which has no submasters. After some time, I added four submasters and saved that to the autoload to act as the default studio. I worked with that for a long time, then finally I increased it to eight submasters and saved that to the autoload. I don't know if saving it as the autoload contributed, but thought you should know that's where the sessions with this behavior originated.

     

    Related

    Commit: [d0760d]

  • Philip Leishman

    Philip Leishman - 2024-04-14

    OK - thanks for finding this bug.
    It turns out the problem is with the number of audio inputs.
    The bug (or its equivalent) can be seen quite easily in the latest version of rosegarden - just change the number of audio inputs - if there are more sugmasters than audio inputs the jack ports will breaks.
    I have a fix - please merge

     

    Last edit: Ted Felix 2024-04-17
  • Philip Leishman

    Philip Leishman - 2024-04-14
    • assigned_to: Philip Leishman
     
  • musewhirl

    musewhirl - 2024-04-14

    I should have added in my steps that when I changed to 4 submasters, I increased the number of inputs to 4. I probably would not have seen anything back then. But later I increased the submasters to 8 and that triggered the bug, although I only saw it by chance recently when looking at ports for different reasons. I'll have to be more thorough in my steps to reproduce.

    Well, I'm glad you can reproduce it now.

     
  • Ted Felix

    Ted Felix - 2024-04-17

    Merged as [aa04de]. Please test latest git.

     

    Related

    Commit: [aa04de]

  • Ted Felix

    Ted Felix - 2024-04-17
    • status: open --> feedback
     
  • musewhirl

    musewhirl - 2024-04-19

    Works perfectly now on the same old session that had this issue. I open that session with [d0760d] I get four submasters. Stopped that RG, and restarted with [b741a3] and I get eight submasters as per the fix.

     

    Related

    Commit: [b741a3]
    Commit: [d0760d]

  • Ted Felix

    Ted Felix - 2024-06-09
    • status: feedback --> closed
     

Log in to post a comment.