I'm trying to create a device with custom patches, and the official SDK docs state:
This sounds easy enough, but (as I've grown to expect from the docs by now) doesn't work. Specifically, Reason/Recon will first complain that the device IDs don't match and immediately deletes my device. OK, easy enough - fixed it in the XML. Now Reason complains:It is not necessary for a 45 to support patches. If it does, however, the Public resources folder must contain a default patch (which is specified in info.lua). Creating a default patch manually (by editing an XML file) is not recommended. Instead, set default_patch in info.lua to any patch and create an instance of the 45 in Reason. Reason will fail to load the patch (and show an error message) but will not blow the fuse. Since your 45 is now running, it is now straightforward to create a patch, save it to the Public resources folder, and point to it in info.lua.
OK, let's bump the device version from 1.0.0.0b1 to 1.1.0.0f1 for testing. Still doesn't work. Then I downgraded the patch file format from version 2 to version 1 (which is the version that is documented in the SDK docs). Still doesn't work, because of course it still deletes my device once it fails to load the patch.The Rack Extension is too old to handle this patch/song.
So in short, the best way that I have found is to ignore the SDK docs and start with this template instead (assuming your device version for development is 1.0.0.0b1 or similar):
Code: Select all
<?xml version="1.0"?>
<JukeboxPatch version="1.0">
<DeviceNameInEnglish>
YOUR DEVICE NAME HERE
</DeviceNameInEnglish>
<Properties deviceProductID="YOUR.DEVICE.ID" deviceVersion="0.9">
<Object name="custom_properties" >
</Object>
<Object name="transport" />
</Properties>
</JukeboxPatch>