The track device objects seem to exists after being removed, when the renoise.Track.devices_observable is banged. Is this a special case by purpose? It seems a bit inconsistent to how the API is behaving normally.
add a device to track 1
run code as tool
delete the device
the device name is written when it should return an error
function add_device_notifier(track_idx, device_idx)
local device_obj = renoise.song():track(track_idx):device(device_idx)
local notifier_func = function(event)
-- this should return an error when device is removed,
-- if the object is meant to be garbled before the
-- observable is banged. the object still exists here.
oprint(device_obj.name)
end
renoise.song():track(track_idx).devices_observable:add_notifier(notifier_func)
end
add_device_notifier(1, 2)