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
user updated
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?):
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