Beiträge von Ace17

    When your virus is USB-plugged, you can see two virtual devices on your computer : "Virus TI MIDI" and "Virus TI Synth"
    - Virus TI MIDI is for talking to the physical MIDI port.
    - Virus TI Synth is for talking to the synth.


    So yes, using MIDI OX (freeware) you could redirect the "Virus TI MIDI" input port to the "Virus TI Synth" output port.
    This basically transmits everything received on the physical MIDI port on the Virus to the real synth.

    Hello,
    Have you tried with USB disconnected?
    Because when the USB is connected, the physicial MIDI in port is re-routed to the "Virus TI MIDI" device. It's not going to the synth anymore.
    If you want to use it with USB connected, you have to connect (using midi-ox for example) the "Virus TI MIDI" input port to "Virus TI Synth" output port.


    By the way, you can have USB connected, and not use USB-audio at all. Just tell your DAW to output to "Virus TI Synth" port, and you won't need any MIDI cable, nor any VirusControl. That's what I do and it works very well.

    Hi,


    Are you using Virus Control plugin?
    If yes, have you unchecked the "Live" button?


    Audio latency depending on the DSP load of the Virus seems strange...


    By the way, if you're not using the Virus Control plugin : I do know that the MIDI output of some DAW has a lot of jitter. For example, with FL Studio, I can't play precisely 16th notes at 180 bpm. This might be your problem.

    I'm having the problem everytime I boot Windows after booting Linux with Virus USB connected. I workaround the problem by putting my Virus TI to sleep (normal switch-off) and then pressing "Arp Edit" button (I do this during the reboot). It's less a hassle than unplugging all cables, and it's enough for the Virus to set to the correct sample rate.

    Hi,


    The USB protocol for a soundcard is standard ; the Virus complies to it (implemented on USB interfaces 1 & 2). All you need to have is a recent Linux kernel. The Virus will automatically be recognized as an audio interface and you will be able to send audio from USB to the Virus output ports, and to record audio from the inputs ports. Please note that I'm not talking here about the synthesizer part.


    The USB MIDI part is a little more tricky, because the Virus also complies to the USB MIDI standard (implemented on USB interface 3), except for some small details. These details are now handled by the current Linux kernel version. Plug your Virus to a USB port on a Linux box and you'll have two I/O MIDI ports (Virus TI MIDI and Virus TI Synth).


    The synth part is the most tricky. You can't connect your Virus only through USB if you want to record its sound from Linux. The synth-audio part is on USB interface 4 and uses some protocol Linux isn't aware of. Maybe one day it will be implemented, but we shouldn't count on it too much. For the moment, you have to use your soundcard inputs.


    I'm using the spdif input of my audiophile 2496, and it works very well.

    Hi,


    I don't think it's possible to use the Virus Control under Wine. AFAIK, Wine only runs applications, not drivers.
    However, the Virus is recognized as a USB audio interface (so you may use it as your main soundcard) under Linux. The USB MIDI ports are also available.

    it seems I need to implement processEvents() and possibly sendVstEventsToHost().
    Still, any tips will be greatly appreciated.

    Please keep in mind that for licensing reasons, I'm not using the official VST SDK.
    So you can't rely on the specifications of the VST SDK C++ classes, which are not present in this project.

    To download the code, the only way I know is by using bazaar (which is a code versionning system, like CVS). You can then checkout the full source with the command :


    bzr branch lp:acevirus


    Feel free to send me patches if you have improvements to submit! I'll be glad to merge them.
    Maybe one day eXT will support sysex. The response I got from the main developer of eXT was that sysex was not supported by the VST spec.

    Hi Boreg,


    glad to hear my plugin may be of any use! :)
    And glad even more, to learn that the midi responsiveness seems pretty good!


    About your remark on the MIDI devices opening: you clearly have a point. Handling MIDI I/O myself (instead of letting the DAW do it) is not a decision I'm proud of ... indeed, it's a lot of code that I was hoping to avoid. Letting the host do the routing would be a great improvement. In fact, this is what the first version of the plugin was beginning to look like.


    The problem is many DAW don't implement sysex part of VST : for example, FL Studio VST implementation only allows sysex sending, and energyXT's allows neither sending nor receiving :thumbdown:


    In one word : it's extremely hard to write a plugin that works well under all hosts (I think Access developers can confirm! ;) ), the problem being that the VST specification is rather incomplete on some points (AFAIK it does not specify what the DAW should do with sysex coming from a plugin). This is very frustrating


    But if your DAW (which one is it BTW?) can do sysex I/O, I could add a device selection with a "virtual device" that would correspond to midi ports of the plugin.


    I'll make the source available, under the GPLv3 license, you can be sure of that! It's just a matter of time I re-write my GPL-compatible minimalistic VST SDK because the Steinberg version does not fit. It's not a lot of work. However if someone knows one C++ VST SDK under the GPL license, it could speed-up things :D


    Thanks for testing!

    Roby's right : by "Virus TI Synth", I meant the virtual midi port the Virus is exposing when connected via USB. From the plugin point of view, they're "normal" midi ports, but the device selection in AceVirus is currently based on the device name (must match "Virus TI synth"). I know it's clumsy :D
    I'm pretty sure I'll end up adding a combobox to select the MIDI devices, especially for the lucky people owning several Virus 8)
    My point is that for the moment, you can't use regular MIDI cables, you have to keep your Virus plugged by USB. But of course, it's only for transmitting MIDI. Audio will be transmitted by the analog outs /spdif.


    Please let me know if you have suggestions, bugs, crashes, feature requests!

    ok guys,
    the first version of my midi-only patch manager for the virus is available at:
    http://ace17.free.fr/AceVirus.zip
    Just extract the archive to your VST folder. For the moment it's a binary only release but I'll make the source available very soon, as soon as I'll have fixed licensing issues.


    For the moment the interface is rather ugly and only allow to save/load patches from/to the synth.
    I only tested it with a Virus TI Desktop. Please let me know if you have problems!


    Usage :


    Just add the AceVirus VST to your project. It will connect to "Virus TI Synth" input and output ports (these ports should be left alone by the host!). The plugin will put the Virus is in sequencer mode. Then start tweaking knobs on the synth, when you have a cool sound just press "Recv" and the patch will be downloaded to the plugin. If you tweak the knobs again, and then want to go back to the last downloaded patch version, just hit "Send" : the patch will be transmitted to the virus on the corresponding part.


    When you save your project, all downloaded patches are embedded into the project file. On project load, all embedded patches are transmitted to the Virus. This is basically a pseudo total recall feature. But you have to manually download patches for them to be saved into your project.


    You can then create a MIDI track, and redirect its output to the midi input of the plugin. The plugin will forward all midi to the synth, bypassing the host MIDI handling (I was forced to do this because most hosts can't do sysex).


    Limitations :


    - This plugin cannot coexist with another instance of itself, nor the VC plugin (BTW why would someone want to do this?)
    - Some hosts don't transmit midi input to a VST plugin if the plugin has no connected output audio port, it probably is an optimization attempt. energyXT is one example. So I had to create a dummy audio port, that you should connect to ... something. Please keep in mind no actual audio is output through this port! It's just a trick to force the host to send us incoming midi.


    Have fun!

    This is strange. As far as I know, the VC does not "see" the audio that goes through the analog outs.
    Have you tried with no VC at all? Only midi tracks outputting to "Virus TI Synth" ?


    Here's how my patch manager looks inside FL, just to give you an idea.


    [Blockierte Grafik: http://ace17.free.fr/img/acemidivirus_lowquality.JPG]


    It loads instantenously, but it does no audio at all, only midi. It also requires you to manually download the current patch from the Virus by clicking "Recv". Then it will be saved inside the project file. On loading, the plugin sets the Virus to sequencer mode, and restores every part by sending the appropriate sysexes.


    I'm beginning to feel there's a need for such a tool, I think I will port it to VST very soon.