Tip - changing patterns on the Maschine JAM without changing focus
Comments
-
OH MY GOD thank you. This will completely change my live performance game.
absolute legend.
1 -
I have maschine software 3 with Maschine hardware and Jam hardware, and it seems to not work (no change in the focus behaviour). Is there any trick or update?
0 -
Hi! I just tried it out and luckily it still works with 3.01, of course I changed the line below to 3
/Applications/Native Instruments/Maschine 3/Maschine 3.app/
Big thanks again to @Maschuser1 !!
😃
EDIT: And I would like to add like mentioned above that this should be the standard behavior because it makes so much more sense! I wished anyway I could use more controllers at the same time for different groups, e.g. KKS49 for one group and Maschine for another one.
2 -
Hm I have to reply to myself :) I did some more playing around with it lately and I believe it is only working partly, looks like if you have more than 1 bank of groups it will no longer work. Unless I messed something up.
Not sure if anyone is still using this hack with 3, because it is awesome. would like to hear your experiences…
0 -
Haven't got 3 yet, but this may be a reason to get it. Thanks for keeping thread alive and sharing your experience.
0 -
So here is the problem with that hack, and it is something I can live with but maybe someone knows how to fix it:
When you have more than 8 groups and you have selected group A of the second bank, changing a pattern on Jam in the first bank with then switch the focus to the second bank on Jam.
So then you will have to use the cursor to move back to the first bank.
Hope that makes sense.
0 -
This should be fixable by changing the code to call JamHelper.getGroupOffset before switching pattern, then JamHelper.setGroupOffset after switching, something like this (note this is untested):
local CurrentOffset = JamHelper.GetGroupOffset() 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 JamHelper.SetGroupOffset(CurrentOffset)
MaschineHelper.setFocusGroup(FocusGroup + 1, false)
endre: "I wished anyway I could use more controllers at the same time for different groups, e.g. KKS49 for one group and Maschine for another one."
In my most recent post, I show my setup which when I select drum group on the Mk3, has its pads controlling that group, but the KKS keys controlling the last selected non-drum group. But there was a lot of complexity involved getting that working.
1 -
Cool thanks I will give that a try! Saw your video and 🤯Really cool!
0 -
I just did a quick test, this is the working code:
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
local CurrentOffset = NHLController:getContext():getGroupOffsetParameter():getValue()
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)
NI.DATA.ParameterAccess.setSizeTParameter(App, NHLController:getContext():getGroupOffsetParameter()
, CurrentOffset)
end
elseif CreateIfEmpty == true then
-- note: AudioPatterns can't currently be empty, so CreateIfEmpty is n/a
PatternHelper.insertNewPattern(PatternIndex, Group)
end
end
end3 -
Wow that is awesome, I will check it as soon as I am back! Many thanks!!
0
Categories
- All Categories
- 19 Welcome
- 1.5K Hangout
- 65 NI News
- 818 Tech Talks
- 4.2K Native Access
- 17K Komplete
- 2.1K Komplete General
- 4.4K Komplete Kontrol
- 5.9K Kontakt
- 1.6K Reaktor
- 390 Battery 4
- 870 Guitar Rig & FX
- 440 Massive X & Synths
- 1.3K Other Software & Hardware
- 5.9K Maschine
- 7.6K Traktor
- 7.6K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators