made my day
some verrry nice ideas here …you can drag any effect in the feedback loop ot the delay …really clever workaround for a host that does not ( yet ) allow modular rewiring routing
Bitwig has an open api
@ 08:40
I am sure this program will create huge waves …
Now all we need is the full blown renoise sequencer /midi out integrated in REDUX
299€ for a java program ? nope
Really? Is it based on java and not C#?
I dare to say neither Java nor C#. It’s C/C++ and provides a JavaScript scripting engine like LUA scripting engine for Renoise.
Means: core engine and everything performance related is C/C++ or other native code. Other things may be scripted.
Anyway, I’m pretty sure that Bitwig’s performance will be top notch !
well, the engine should be C++ (it uses portaudio for audio output), but all the rest (and most of it GUI) is java.
The engine also supports multicore CPU’s, and isolated VST processes -at least on windows. Means: if a VST crashes the application stays alive. Also the engine contains a modular signal flow system similar to NI Reaktor / Max for Live. I highly doubt that any of this stuff runs in a classical virtual machine context. I rather suppose that the article above refers to the JavaScript scripting features.
It does on page 4, but on Page one it quotes:“Beim Start fällt auf, dass Bitwig Studio für eine so umfangreich ausgestattete Java-Anwendung bemerkenswert zügig und ohne Lüftergeheul betriebsbereit startet.”
Java anwendung is really a Java interface. The fact that they mention “It starts remarkebly quick for a Java interface” emphasizes the hint because Java programs usually take quite long to start up.
You can use Java interfaces on top of different core engines that are compiled in complete different languages. I occasionally work with Java applications that even interface with system device drivers (very low level) to perform operations.
These low-level engines take on the hard work while the user interface simply keeps the user posted of what happens in the background.
But Java usually has the habit to get bulky and slow on the longer term if the UI and communication processes aren’t designed properly (and that isn’t always as easy as many developers/people think).
Nonetheless I think that the author(s) of the article confused Java with JavaScript. Bitwig has no requirement for any JRE whatever (https://www.bitwig.com/en/faqs.html). But to clarify that issue I’ve posted a question to the Bitwig support. BTW: I know Java very well, I’ve programmed a lot with it and that’s the reason why I doubt that Bitwig is a vm-based Java application. Would really be surprising - and if this would be the case, it must be based on massive native wrappers. And then we can not downplay this as a simple Java application anymore.
Well, i am pretty curious if the pack come with a load or jar files along with most likely quite a vast amount of executables. Although i could imagine some elemental GUI elements like buttons and sliders etc to fit into a JVM environment:would perhaps communicate pretty fine with their javascript API (Javascript must be interpreted somehow).
I would like someone to confirm, with a reputable source, that’s it is indeed Java?
I “google translated” the URL and Java is mentioned once, 1 single word, in 5 pages?! If it were indeed Java, then that is a huge deal and I would imagine that topic alone would take up 5 pages by itself?
Because of this I’m with Airmann and I think it’s a typo.
Hi guys,
Dom Wilms from Bitwig replied … and surprise surprise: GUI is indeed Java, but GUI and Engine run in completely separated processes. Means: the engine is completely non-Java. JavaScript is used for the controller API. Interesting concept.
----- original answer ----
Hallo Matthias!
Fast richtig: JavaScript wird für die Controller API genutzt. Aber ich denke die Verwirrung kommt eher vom grafischen Userinterface:
Die GUI und die Audio Engine laufen auch komplett separat voneinander und die GUI nutzt Java, was bei der Engine nicht praktikabel wäre.
Gruss,
Dom Wilms
Wow. That’s crazy. So maybe, with some hackish cleverness, and using the Renoise LUA API, Renoise can also be a Bitwig GUI?
(I’m assuming you made a typo and meant “GUI and Engine” here, otherwise I don’t understand…)
AFAIK Matlab GUI is written in Java and it’s robust…
No need to drag Bitwig through the dirt. Not like Renoise, Bitwig will be a real DAW!
Ah, you mean with a pianoroll and audio tracks?
Because otherwise I’m confused as to what is a “real DAW”
But I say, good for the DAW scene in general that someone has stepped up to challenge Ableton.
I’m not sure how your answer relates to my post.
DAW is Digital Audio Workstation. Renoise is digital, is handling audio and can be used as a workstation. Stop trolling.
Yes, typo: GUI and Engine. Thanks !
Renoise as Bitwig Engine client … good one :-)))))) ! Indeed I guess it’s a Client/Server concept with some kind of interprocess communication. So theoretically it should be possible.
Guess it’s a client/server concept where the Java part / VM is decoupled from the audio engine via interprocess communication. Also I read elsewhere on the net that all the GUI elements / widgets are done as you describe.
Haha, good one!