LiveProfessor also has advanced MIDI routing and manipulation features, and can be controlled using hardware controllers or Midi Show Control. ![]() Using a ASIO audio card you can route inputs and outputs through your VST-plugins in any order and way you like.The program supports snapshots of all settings, for easy switching between songs. If the x32 module was doing the same then this would likely have collision issues as they would work on the same port ranges.LiveProfessor is designed to be an effect rack of VST-plugins and we have created it specifically with live sound in mind.The concept is very simple, yet extremely flexible. is avoiding duplicate issues by applying an offset. Even if the commented out config s restored, it requires the user to manage ports themselves. Is currently using a hardcoded port, causing a second instance to fail. Should we change it and log an error, or provide a button for the user to trigger getting new ports?Īlso, a closer eye should be kept on how the local ports are chosen to ensure modules dont have issues like these. Q) how should we handle a reserved port being already in use? (eg a program was started before companion that uses 8000, but we previously assigned that to an instance) (We could let the user manually edit these too if we want) The reservations and ports should be shown in a table in the ui for the user. These reservations and the accompanying ports should be constant until the instance is deleted. The chosen ports will get passed into the init function, and another function updatePorts(ports: object): void that instances can implement to be told that its port assignments changed whilst it is enabledĬompanion can then keep track of which instance has what port, and should persist this in the db. This flow is similar to how the config is done currently, so will be familiar to module authors.Ī function getPortRequests(): object describing the ports it wants. I propose we add some new methods for instances to implement. If you were to disable an instance of a module, and add a new instance, that new instance would likely get the ports the disabled one was just using. Some modules uses a package called get-port to help them choose a free port, but that will only work reliably if every other instance is already running. We need to choose a port that isnt already in use, and reserve it from use by other modules. Option 1 is something that we should simply look out for and ensure that in these cases no localPort is passed to the osc library (like done in behringer-x32) You need to choose and remember a local port.You don't really care what your local port is (eg, port is not defined in external software/hardware).The problem is that choosing a good port is hard. ![]() ![]() ![]() When modules need to listen on a local port, commonly when using osc, this is often done badly leading to a high chance of issues of a port clash with other software or being unable to use multiple instances of a module.Įg bitfocus/companion-module-audiostrom-liveprofessor#1
0 Comments
Leave a Reply. |