IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Multimédia Java Discussion :

[VST] Développer un VST/VSTI multiplateforme en JAVA (jvstwrapper / jvaptools)


Sujet :

Multimédia Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut [VST] Développer un VST/VSTI multiplateforme en JAVA (jvstwrapper / jvaptools)
    Bonjour,

    Dans le cadre d'une étude d'un éventuel développement en JAVA d'interface VST/VSTI pour contrôler mes synthétiseur, je cherche :
    • des documents sur l'architecture VST car la doc de référence de steinberg est bien maigre ...
    • éventuellement des dev ayant déja développer des VST en java pour qu'ils me parlent des ressources qu'ils ont trouvés, des difficultés rencontrés ...


    Le wrapper qui sera utilisé est jvstwrapper, utilisé via la librairie jvaptools.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10

  3. #3
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 919
    Par défaut
    Suite d'AF...
    Mon expérience est la suivante:
    - j'ai uniquement bossé avec jVSTwRApper, pas avec JVaptools.

    Difficultés majeures:
    - (inhérente à la norme VST): multitude des contextes d'appels: il y a autant de manière qu'un host se connecte au VST qu'il existe de host.
    - Ableton Live !!!!!!! Ton plug doit se configurer de manière spéciale s'il se rend compte que le Host est Live ! (Voir sur KvR)
    - JavaSound (comment récupérer les lignes Midi In et Out disponible sur ton système, comment faire un MidiLearn, ...)

    Ressources intéressantes:
    - Pour le monde VST: sur Kvraudio. Quelques posts intéressants:
    VST-Plugin Unit Test
    How to know if the transport is playing or not ?
    Learning MIDI VST 2.4 Programming
    what midi plugins are you using with Ableton Live ?
    Any users of jVSTwRapper out there?

    - Pour Java Sound: Java Sound Ressources

    J'espère que te voilà un peu avancé.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Merci pour tes ressources, il y en as que je ne connaissait pas. Je vais continuer à lire.

    ----

    Ce que je souhaite faire, c'est des contrôleurs VST pour mes synths hards.
    2 utilités :
    - l'édition des patchs, et voir le temps réel pour une utilisation "live"
    - utiliser le fait que cela utilise la technologie VST pour "transformer" du hard en VST, de manière transparente.
    A l'utilisation, je souhaite que dans mon hôte on choisisse le VST en entée sortie comme un VST.

    Mais je souhaite également que mon VST puisse accéder directement (via mon host HST) aux ressources système (audio, midi). Cette configuration aurait put se faire par un menu en récupérant effectivement les ressources système disponibles.

    En Prenant l'hypothèse que seul le midi A est instancier dans une piste midi de l'HOST, ce que je veut en communication midi :

    HOST-Sequenceur[midi A] <--> VSTI <--> HOST-VST API[midi B]

    Hors il me semble avoir compris, que seul les sorties instanciés peuvent êtres appelés par le VST ....

    ----

    Pour le "MidiLearn", j'aimerais profiter en faite des possibilités de l'automap de notation pour éviter toute emmerdes, mais je ne sais pas encore comment il récupère les étiquettes ...

    ----

    Dans les sources que je voit, j'ai du mal à comprendre le minimum requis, car il semble qu'il y as des choses qui "fonctionnent" sans être forcément prêt à tout les hôtes ...

    ---

    Java Sound j'était tombé sur le lien, et j'en ai vu des exemples mais j'ai du mal à comprendre ou il faut l'utiliser car je pensait qu'il fallait utiliser préférablement, l'API VST avec jVSTwrapper de manière exclusive.


    ----------------------

    Pour le problème d'hôtes, le problèmes n'est pas partiellement réglé en testant les limites de l'hôte avec la fonction "CANDO" ?

  5. #5
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 919
    Par défaut
    Je t'avoue que je ne comprends pas trop le schéma de ce que tu souhaites faire. Par exemple, où interviennent tes synthés dans la chaîne Midi.
    Et quelle est la chaîne audio ?
    Citation Envoyé par shamk Voir le message
    Ce que je souhaite faire, c'est des contrôleurs VST pour mes synths hards.
    2 utilités :
    - l'édition des patchs, et voir le temps réel pour une utilisation "live"
    - utiliser le fait que cela utilise la technologie VST pour "transformer" du hard en VST, de manière transparente.
    A l'utilisation, je souhaite que dans mon hôte on choisisse le VST en entée sortie comme un VST.

    Mais je souhaite également que mon VST puisse accéder directement (via mon host HST) aux ressources système (audio, midi). Cette configuration aurait put se faire par un menu en récupérant effectivement les ressources système disponibles.

    En Prenant l'hypothèse que seul le midi A est instancier dans une piste midi de l'HOST, ce que je veut en communication midi :

    HOST-Sequenceur[midi A] <--> VSTI <--> HOST-VST API[midi B]

    Hors il me semble avoir compris, que seul les sorties instanciés peuvent êtres appelés par le VST ....
    De ce que je connais, tu ne peux pas depuis ton plug décider vers quelle sortie Midi du host tu vas envoyer ton midi. Si tu veux que ton plug envoie le midi vers un port midi spécifique, il faut l'envoyer directement vers ce port à la place (ou en plus) de l'envoyer vers l'hôte. Et le JavaSound était nécessaire.

    Citation Envoyé par shamk Voir le message
    Pour le "MidiLearn", j'aimerais profiter en faite des possibilités de l'automap de notation pour éviter toute emmerdes, mais je ne sais pas encore comment il récupère les étiquettes ...
    Je ne connais pas l'automap. Donc je ne peux pas t'aider.

    Citation Envoyé par shamk Voir le message
    Dans les sources que je voit, j'ai du mal à comprendre le minimum requis, car il semble qu'il y as des choses qui "fonctionnent" sans être forcément prêt à tout les hôtes ...
    Je dirais les canDo (capacités du plug), le processEvents (messages Midi), le processReplacing (audio), setParameter (automation du plug via le host) et tout ce qui est lié au programmes puisque tu veux les utiliser.

    Citation Envoyé par shamk Voir le message
    Pour le problème d'hôtes, le problèmes n'est pas partiellement réglé en testant les limites de l'hôte avec la fonction "CANDO" ?
    Oui et non. Tu sauras ce qu'ils sont capabled ou pas de faire, mais pas nécessairement comment. Par exemple, si tu veux faire un plug exclusivement Midi, tu devrais en tout logique dire: 0 input audio et 0 output audio. Ben ça suffit pas toujours. Avec certains hosts, tu dois dire que ton plug est un Synthétiseur.

    Ex d'initialisation avec différentiation suivant le host:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
       public ATVSTE_vst(long wrapper) {
     
    		super(Wrapper);
            // 1) Look&Feel
            DefaultZweegerGUI.setLookAndFeel();
     
            // 2) Propriétés VST de base
            this.programsAreChunks(true); // sauvegarde par chunks plut^tt que par programme
            this.canProcessReplacing(true);
            ATVSTECentral.logger().log2.println("Host is: " + this.getHostProductString());
            isHostAbletonLive = this.getHostProductString().contains("Live");
     
           // 3) VST initialisation
           if (isHostAbletonLive) {
               this.setNumInputs(2);
               this.setNumOutputs(2);
               this.isSynth(false);
           } else {
               this.setNumInputs(0); // no input
               this.setNumOutputs(0); // no output
               this.isSynth(true);
           }

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Merci tu as répondu à l'ensemble de mes questions.
    En effet, je souhaite accéder directement à des ressources midi/audio qui nécessites de passer par JavaSound.

    Je n'ai pas eu le temps de travailler sur le core de mon VST, vu que j'ai déjà un soucis en travaillant sur mon UI, le temps réel c'est pas son fort ... notamment pour chopper l'ensemble des valeurs d'un slider en temps réel ...

    EDIT : je viens de m'abonner à la discussion, ce qui me permettra de répondre plus rapidement

Discussions similaires

  1. JUniversal : Microsoft facilite le développement multiplateforme en Java
    Par Olivier Famien dans le forum EDI et Outils pour Java
    Réponses: 18
    Dernier message: 30/03/2015, 23h44
  2. Environnement de développement pour un site Web en Java
    Par miagomiago dans le forum Debian
    Réponses: 8
    Dernier message: 19/07/2007, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo