Tip - changing patterns on the Maschine JAM without changing focus

maschuser1
maschuser1 Member Posts: 3 Member
edited August 2022 in Maschine

If you're on a Mac, and you want to make it so Maschine JAM no longer changes the focused group when you select a pattern, then (after making a backup) change the section starting line 182 of

/Applications/Native Instruments/Maschine 2/Maschine 2.app/Contents/Resources/Scripts/Maschine/Helper/PatternHelper.lua

to read:

function PatternHelper.focusPatternByGroupAndByIndex(GroupIndex, PatternIndex, CreateIfEmpty)


    if PatternIndex == nil or PatternIndex < 0 or GroupIndex == nil or GroupIndex < 0 then
        return
    end


    local FocusGroup = NI.DATA.StateHelper.getFocusGroupIndex(App)
    local Group = MaschineHelper.getGroupAtIndex(GroupIndex)


    if Group then


        local Pattern = Group:getPatterns():find(PatternIndex)


        if Pattern then


            local FocusSection = NI.DATA.StateHelper.getFocusSection(App)
            local FocusScene = NI.DATA.StateHelper.getFocusScene(App)
            local FocusScenePattern = FocusScene and NI.DATA.SceneAccess.getPattern(FocusScene, Group)
            local HasFocus = Pattern == FocusScenePattern


            if HasFocus then
                if FocusSection then
                    NI.DATA.SectionAccess.removePattern(App, FocusSection, Group)
                else -- In Idea Space we work on Scenes directly.
                    NI.DATA.SceneAccess.removePattern(App, FocusScene, Group)
                end
            else
                NI.DATA.GroupAccess.insertPatternAndFocus(App, Group, Pattern)
            end
            if FocusGroup ~= GroupIndex then
                MaschineHelper.setFocusGroup(FocusGroup + 1, false)
            end


        elseif CreateIfEmpty == true then
            -- note: AudioPatterns can't currently be empty, so CreateIfEmpty is n/a
            PatternHelper.insertNewPattern(PatternIndex, Group)
        end


    end


end
Tagged:
«1

Comments

  • Deepmind
    Deepmind Member Posts: 2 Member

    unbelievable, thank you so much. I've been waiting for Native Instruments to integrate this function for years. This was originally the reason for me to buy a Jam. 👍️

  • macchinista
    macchinista Member Posts: 29 Helper

    Don’t have a Jam with me at the moment, but if it works, this is awesome! Thanks so much for the tip 👏

  • D-One
    D-One Moderator Posts: 2,876 mod
    edited August 2022

    Wow... OK, now that's some awesome stuff to share, thanks! 👍

    I've shared so many edits over the years and I always hoped that it could inspire someone with actual knowledge to do something fancier than what I can do... I think you're the 1st person to share something like this, thanks so much.

    I don't have a Jam but I'll try to learn from your edit and maybe apply it to my M+ or KKS.

  • Kubrak
    Kubrak Member Posts: 2,788 Expert

    What language is it? I might join you one day...

  • D-One
    D-One Moderator Posts: 2,876 mod
  • Kubrak
    Kubrak Member Posts: 2,788 Expert

    I see, for sure not C (it is not object oriented language), but it resembles C++ a bit.

  • KaOsphere
    KaOsphere Member Posts: 16 Helper

    This is more that awesome ! Does, by any chance, someone been able to port this on Windows ?

    I tried to find some similar scripts in my system files but failed unfortunately.


    Thanks @maschuser1 for pushing the boundaries !

  • D-One
    D-One Moderator Posts: 2,876 mod

    On windows you have to use Resource Hacker to access the scripts, they are inside the application .exe itself. Open, edit then recompile/save.

  • spock
    spock Member Posts: 25 Helper

    It's awesome! How to make this trick work in standalone with the Maschine+?

  • D-One
    D-One Moderator Posts: 2,876 mod

    Not possible, currently there is no known way to access the files on the M+ internal storage and modify them.

  • D-One
    D-One Moderator Posts: 2,876 mod

    Has anyone with a Jam ever tested this?

  • LordJ
    LordJ Member Posts: 8 Member
    edited March 2023

    Yes, I just test it with Maschine+ in controller mode and JAM.

    It's crazy, I have been waiting that since the beginning of the JAM's development.

    NI should implement it as standard in Maschine and Maschine+...

  • LostInFoundation
    LostInFoundation Member Posts: 4,250 Expert

    I just guess why users must go and modify things like this (risking to make a mess and ruin everything) and NI still doesn’t mind about implementing things like this when users ask for them. I’m sure this is something a developer can do very easily, like in a couple of minutes work… So…why not doing it??? Or…explaining why you don’t wanna do it???

  • D-One
    D-One Moderator Posts: 2,876 mod

    Nice! Thanks for confirming. If you happen to try NIPatcher to add this mod in the future let me know.

  • djadidai
    djadidai Member Posts: 393 Pro

    It would be fantastic to be able to use the M+ and Jam connected but independent from each other!

Back To Top