Bug/ issue with track_device. display_name

I ended up going through this in the API wishlist thread but thought it deserves it’s own report. Basically renoise.song().selected_track_device. display_name returns the wrong default value. Once the user has modified the device name in renoise, that correct modified string value for display_name is returned.

display_name bug explained:

Example of display_name in renoise

driver disp name

user updated

new driver name

1) Firsly looking at name which works but is still relevant later in the bug:
------

API example calls for name:

renoise.song().tracks[1].available_device_infos[1].name
renoise.song().selected_track_device.name

return value:

[name] => Native Instruments GmbH: Driver

It is correct in both ‘available_device_infos’ and ‘device.name’ calls. It is the long name/ name+ manufacturer category, in the browser.

As shown in renoise plugin browser (maybe browser_name is more accurate property name?):

browser dev name


2) display_name bug/ inconsistency
------

Using renoise.song().selected_track_device.display_name

Initially it incorrectly returns the propery name as above:

[display_name]=> VST: Native Instruments GmbH: Driver

Should initially be (but isn’t):

[display_name]=> Driver

Becomes corrected after user renames device in renoise:

[display_name]=> “My New Name for Driver in Renoise”

Note: You can test this and see that in the final example here, the ‘VST :’ prefix shown in the renoise device gui is ignored with the updated display_name return which is likely correct.




/////////////////////////////////////////////////

There is also a separate inconsistency with the [name] property where VST device strings have an extra space in the name format. It came to my attention when trying to strip out the short name from the [name] :

VST has space after colon GmbH:_Driver. ← underscore = space

[name] => Native Instruments GmbH: Driver

Yet renoise effects there is no space

[name] =>Effects:Delay

2 Likes

available_device_infos[x].name and selected_track_device.name are simply two different names. The available_device_infos names are used by the DSP browser and can be renamed by the user. name is shown by default, short_name when the “Show short names” option in the browser is enabled.

selected_track_device.name is initially set from available_device_infos[x].name, but can be overridden by the user in each instance of the device. The vendor is stripped from the selected_track_device.name just to avoid that it’s getting too large in the DSP device’s GUI.


This indeed should be fixed for consistency.

Ok, I think I’ve got it now. After reading your post and going back, something I didn’t realise was that you can change both the ‘Short Name’ and the ‘Name’ separately in renoise fx browser. With that and the user being able to change the name on the device, you can end up with 3 different names relating to the same plug/device!

So the only way in Lua to safely compare the selected_device with available_devices is by the .path

//////

The last thing to ask then: are there any differences across platforms to the path format to be aware of ? i.e.

Does the following format hold true for AU, LADSPA?

Audio/Effects/VST/Driver
Audio/Effects/ [plug type] / [name]

(including forward slashes)

Yes, exactly. plug type can be one of “VST”, “AU”, “LADSPA”, “DSSI”.

Great, thanks!

I’ll probably add some notes into my helper tool now it’s clearer

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.