Kontakt Script Needed

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS

Post

Been trying to accomplish this for weeks, but so far no go. Seems so simple to me, but all I need to do is have a script in Kontakt 7 that will hold or simply ignore the note off portion of a note that I am sending in Midi from my guitar synth pickup. When you play from a keyboard, of course, the note sustains all day long just by holding down which ever key. The triple play guitar synth pickup however does not. As the string fades out- the midi note drops and therefore doesn’t sustain as long as I need it to. I’ve got midi latch working but that’s not really going to work because you have to initiate the note first and what I need is something that I can use a cc message and press a momentary pedal to hold or sustain the note (after the note is already playing), until I let the pedal off. On midi latch, if you go to another note, it just continues the process over and over and it’s not individual note specific.
So to summarize, just a script that will ignore note off for an individual note that I can control and toggle with a cc message, during the actual performance.
Does anyone have something that’ll work for this? At this point I will even pay for it… lol

Post

Like this? Press latch button to hold notes that are down at a moment and release them when unlatch is pressed...

Code: Select all

on init
	make_perfview
	declare ui_switch $latch
	declare ui_switch $unlatch
	declare %event_map[128]
	declare %latch_map[128]
	declare $i
end on

on persistence_changed
	{clear latch map}
	$i := 0
	while($i < 128)
		%latch_map[$i] := 0
		inc($i)
	end while
end on

on ui_control ($latch)
	{memorize which keys are being held}
	$i := 0
	while($i < 128)
		%latch_map[$i] := %KEY_DOWN[$i]
		inc($i)
	end while
	$latch := 0
end on

on ui_control ($unlatch)
	{release held keys}
	$i := 0
	while($i < 128)
		if(%latch_map[$i] =1)
			note_off(%event_map[$i])
		end if
		%latch_map[$i] := 0
		inc($i)
	end while
	$unlatch := 0
end on

on note
	{remember note id}
	%event_map[$EVENT_NOTE] := $EVENT_ID
	{ignore new note if a note is latched already}
	if(%latch_map[$EVENT_NOTE] =1)
		ignore_event($EVENT_ID)
	end if
end on

on release
	{ignore note off for latched notes}
	if(%latch_map[$EVENT_NOTE] =1)
		ignore_event($EVENT_ID)
	end if
end on

Post Reply

Return to “Samplers, Sampling & Sample Libraries”