Использование VST.net с Unity3d для создания простого хоста VST - PullRequest
0 голосов
/ 20 мая 2018

Я успешно упростил образец хоста Vst.net для прямой загрузки инструмента VST.В основном я только что убрал графический интерфейс и заставил его автоматически запускать несколько тестовых заметок.Этот код работает, когда я собираю его как консольное приложение.

using System;
using Jacobi.Vst.Core;
using Jacobi.Vst.Interop.Host; 
using NAudio.Wave;
using CommonUtils.VSTPlugin;

namespace Jacobi.Vst.Samples.Host
{
///<Summary>
/// Gets the answer
///</Summary>
public class pianoVST
{
    ///<Summary>
    /// Gets the answer
    ///</Summary>
    public static VST vst = null;

    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {

    }

    /// <summary>
    /// Play some test notes.
    /// </summary>
    public void playTest()
    {
        var asioDriverNames = AsioOut.GetDriverNames();
        if (asioDriverNames.Length > 0)
        {
            MidiVstTest.UtilityAudio.OpenAudio(MidiVstTest.AudioLibrary.NAudio, asioDriverNames[0]);
            MidiVstTest.UtilityAudio.StartAudio();
            vst = MidiVstTest.UtilityAudio.LoadVST("[path-to-vst-dll]");
            for (int i = 0; i < 3; i++)
            {
                vst.MIDI_NoteOn(60, 100);
                System.Threading.Thread.Sleep(1000);
                vst.MIDI_NoteOn(60, 0);
                System.Threading.Thread.Sleep(1000);
            }
        }
    }
}
}

Однако, когда я строю его как dll, импортирую его в Unity и затем присоединяю к простому GameObject, я не могузаставить его работать или строить.Я получаю сообщение об ошибке:

ArgumentException: The Assembly Jacobi.Vst.Interop is referenced by Jacobi.Vst.Samples.Host ('Assets/Jacobi.Vst.Samples.Host.dll'). But the dll is not allowed to be included or could not be found.

Я перестроил dll взаимодействия C ++ из исходного кода, но ничего не могу сделать, чтобы он работал с Unity.

Есть ли что-то, что я могу сделать, чтобы сделатьdll Jacobi.Vst.Interop хорошо работает с Unity?

1 Ответ

0 голосов
/ 02 марта 2019

VST.Net зависит от пакета VC110.CRT.Эта ошибка может быть результатом отсутствия установленной среды выполнения VC.

https://github.com/obiwanjacobi/vst.net/blob/master/docs/Using_VST.NET.md

...