Jump to content


Photo
- - - - -

Multiple Renoise instances running as ReWire slaves


  • Please log in to reply
2 replies to this topic

#1 .xrns

.xrns

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 312 posts
  • Gender:Male

Posted 19 January 2013 - 22:22

I often slave Renoise to another DAW, using 64-bit ReWire. The thing is that the DAW can only register one Renoise instance as a ReWire object, while Renoise itself can be opened in several instances.

What I'd like to suggest is that Renoise gets compiled into several locations on the HDD, with some kind of independent ReWire object, so that essentially we get:

Renoise #1
Renoise #2
Renoise #3

...etc.

I don't know the technical limitations here, but since the host can slave several ReWire objects (Renoise, Reason, Melodyne, etc) running at the same time, I started to wonder if it wouldn't be possible to somehow "trick" the system into thinking that several Renoise instances would be treated as different ReWire clients/slaves.

Why this would be so great and useful?

Because then we have a dedicated Renoise instance for e.g. drums, and have the possibility to just swap the entire .xrns on the fly. This would make it possible to have a faster workflow when Renoise is used in conjunction with another DAW.








-


#2 vV

vV

    God's or Borg's Chief and Ruler of All Species

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 16855 posts
  • Gender:Male
  • Location:Netherlands

Posted 22 January 2013 - 16:40

ReWire itself has some limitations so i suspect that there aren't ways to circumvent those.
I had done a proposal for allowing to slave Renoise to Renoise but there already starts the limitation.
Perhaps if Renoise would install multiple ReWire hooks and checks which of them is already used...

Audio-routing wise i figured out you can achieve a lot using Jackd (because you can patch everything into eachother) and using midi virtualisation you could use this for synchronisation.
Current misfortune is that the actual version (1.9.9.5) of Jackd for Windows doesn't connect with Renoise 64-bit for some reason (i suspect Jackd doesn't understand colons in the hostname assignment). I have no idea how the Mac version does.
Renoise 32-bit works without problems.
Vv....


cpu Intel Core i7-4820K @3.70GHz
chipset Intel X79 chipset
mem 32 Gb 2400Mhz
os Win 7 64-bit SP1, DirectX 11
audio ESI ESP1010e - > Driver rev:2.0.6.0
video nVidia Geforce GTX780 - > Driver rev:335.23


Renoise Official Manual

#3 jrrs

jrrs

    Member

  • Normal Members
  • PipPip
  • 26 posts
  • Gender:Male
  • Location:bay area, california, us.

Posted 05 December 2018 - 09:11

was hoping this would Just Work with GarageBand, but i don't see any evidence of GB acting as a ReWire host (regardless of the order in which i start things).

 

so far the closest i've been able to get is

 

1) one renoise running as master, outputting midi start/stop and song position (_NOT_ clock) to the IAC driver (enabled in audio MIDI setup, with "midi test" mode disabled or i couldn't enable it)

..a.) audio input device of a virtual device setup by Loopback2 (think: soundflower)

..b.) audio output of whatever, my headphones or Default or etc.

..c.) with a Line-In device on the renoise Master channel, listening to that Loopback2 thingy

2) N renoise midi slaves

..a.) each listening to the IAC driver for MIDI in

..b.) each outputting to that same Loopback2 virtual Device

 

the slaves pay attention to start/stop and song position just fine, so if i setup a blank "song" in the master and set my pattern lengths and BPM/Speed right, i can control all the replay from the master.

 

my use-case is i'm trying to make a mix of several of my tracks but without doing the "render each one to .wav and then mix those after the fact" dance.   setting up the patterns and timing (if you ZTxx ZLxx in one renoise, you have to do the same in the others too -- sending MIDI clock is just way too sloppy and all the echo effects sound like crazy pants and not "Original") is cumbersome, and having N renoises open is going to run me up against a CPU wall pretty quick (given that all are "playing" simultaneously, so i'm having to do a little extra work zeroing things out and disabling DSPs in tracks that are not actively playing), but ....

 

it works.

 

one big thing that i'm missing in this turbo hacky setup is i wish Renoise would not have the concept of One And Only One [audio] Input Device.  it would be swell if i could setup an individual/discrete Loopback2 virtual device for each separate renoise instance and then use individual/discrete Line-In DSPs for each of those.  at least then i could have some sort of A|B mix instead of them being dumped onto one 'bus'.

 

but again, it works.

 

i know that the wishlists are already huge and renoise is more a labor of love than a way for the developers to become billionaires over-night.  but one wish i have is for renoise to have the baked-in concept that "you might want to run more than one instance of this application at once and have them play with each other".

 

(either that, or if i had the ability to chain-load tracks into the editor, like you can do with .MID files, where the newly loaded one doesn't _replace_ anything but just gets appended to the existing song, that would give me exactly the ability to do what i want (mix my tracks)).

 

thanks again everyone.


Edited by jrrs, 05 December 2018 - 09:12.