fix float numbers sent to psto not being handled properly by tc.preset
This commit is contained in:
@@ -782,19 +782,20 @@ function text() {
|
||||
|
||||
function recall() {
|
||||
var args = arrayfromargs(arguments);
|
||||
var val, src_slot, trg_slot, interp;
|
||||
if (args.length == 1) {
|
||||
previous_active_slot = active_slot;
|
||||
is_interpolating = 0;
|
||||
set_active_slot(args[0]);
|
||||
outlet(0, 'recall', args[0]);
|
||||
val = Math.abs(args[0]);
|
||||
src_slot = Math.floor(val);
|
||||
interp = val % 1;
|
||||
trg_slot = interp == 0 ? src_slot : src_slot + 1;
|
||||
} else if (args.length == 3) {
|
||||
var src_slot = args[0];
|
||||
var trg_slot = args[1];
|
||||
|
||||
src_slot = Math.abs(args[0]);
|
||||
trg_slot = Math.abs(args[1]);
|
||||
interp = Math.min( 1, Math.max(0, args[2]));
|
||||
}
|
||||
for (var i = 0; i < filled_slots.length; i++) {
|
||||
slots[filled_slots[i]].interp = -1;
|
||||
}
|
||||
|
||||
if (slots[src_slot].name != null && slots[trg_slot].name != null) {
|
||||
|
||||
if (ignore_slot_zero == 1 && src_slot == 0) {
|
||||
@@ -807,15 +808,14 @@ function recall() {
|
||||
src_slot = active_slot;
|
||||
}
|
||||
}
|
||||
var interp = Math.min( 1, Math.max(0, args[2]));
|
||||
if (interp == 0.0) {
|
||||
slots[src_slot].interp = -1;
|
||||
slots[trg_slot].interp = -1;
|
||||
is_interpolating = 0;
|
||||
if (previous_target != active_slot) {
|
||||
previous_active_slot = active_slot;
|
||||
} else if (args[0] != 0) {
|
||||
previous_active_slot = args[0];
|
||||
} else if (src_slot != 0) {
|
||||
previous_active_slot = src_slot;
|
||||
} else {
|
||||
previous_active_slot = previous_target;
|
||||
}
|
||||
@@ -837,7 +837,6 @@ function recall() {
|
||||
|
||||
outlet(0, "recall", src_slot, trg_slot, interp);
|
||||
}
|
||||
}
|
||||
|
||||
mgraphics.redraw();
|
||||
}
|
||||
|
Reference in New Issue
Block a user