Giter Site home page Giter Site logo

linuxmao-org / vl1-emulator Goto Github PK

View Code? Open in Web Editor NEW
27.0 5.0 2.0 1.07 MB

An emulator of Casio VL-Tone VL1, based on source code by PolyValens

License: Creative Commons Zero v1.0 Universal

C++ 93.64% Objective-C 1.69% C 3.69% Makefile 0.54% Emacs Lisp 0.01% Shell 0.42%
synthesizer midi vst lv2 dpf

vl1-emulator's People

Contributors

jpcima avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vl1-emulator's Issues

Gestion de programmes

La version VST utilise le paramètre kProgram pour indiquer le type de timbre :
Violin, Fantasy, Piano, Flute, Guitar, ADSR

Lorsque ce paramètre est modifié, cela charge les valeurs d'un préréglage dans les autres paramètres.

On ne peut pas faire ça en LV2, donc il faut traiter ça autrement.

Par ailleurs, il y a le programme spécial ADSR qui permet de définir une enveloppe personnalisée.
En LV2 le programme est en lecture seule, donc là aussi il faut faire autrement.

Couplage processeur et éditeur

J'ai repéré certains endroits où les 2 acteurs sont assez fortement couplés.

Dans un premier temps, on pourrait traiter ça en instance-access.

Ensuite, peut-être que les éléments Calculator et LCD pourraient être réservés au côté interface graphique.

Graphismes de l'interface

Les images bitmap qui constituent l'interface graphique ne sont pas dans l'archive des sources.
Pour les récupérer, il faudra les extraire à partir d'une version binaire.

Text readability

In the binary version of latest VL1, it's possible to have text tooltips which indicates functions of UI buttons.

This source doesn't have it, but it will be nice to replicate the feature, because the text labels from the background picture are blurry and small.

Mise à niveau

Quelques éléments suggèrent que la version source n'est pas au même niveau que la version binaire de VL1.

Par exemple, la dernière DLL contient plusieurs ressources bitmap qui ne sont pas renseignés dans le code source dont on dispose.

Il faut situer où on en est par rapport à l'historique de versions.

Temps réel

La structure deque qui est utilisée par l'accumulateur FIFO de messages MIDI n'est pas compatible avec le fonctionnement temps réel strict.

Par contre, si on passe à un cadriciel à greffons, on n'a plus besoin de cette structure, car cela sera déjà géré. Il faudra réécrire le code afin qu'il traite les messages MIDI en direct.

Automation

It's needed to make the sliders send begin/end of drag for automation recording.

Licence du logiciel

  • Les sources originales sont sans licence actuellement.

A priori, l'auteur accepte de partager ces fichiers sous licence libre. Lorsque ce sera décidé, mettre un fichier LICENSE à la racine, et éditer le fichier reference/Notes.txt.

  • Sources VST

Les fichiers non-redistribuables appartenant à Steinberg Media ont été supprimés.
Pour les remplacer, une solution consiste à réécrire l'ensemble avec un cadriciel à greffons.

Par le modèle est très centré sur la logique VST et ça colle pas tellement avec LV2 et autres, donc je pense qu'il faudra revoir certains aspects du logiciel.

Variables globales

Le logiciel utilise les variables globales. (voir GlobalData.h)

À cause de cela, les instances multiples ne pourront pas fonctionner.
Dans l'idéal, il faut instancier ces objets dans le processeur audio et l'éditeur, autant de fois que ces éléments sont instanciés.

Sequencer control

It lacks a way to drive the sequencer from the plugin host.

  • set the tempo
  • start and stop

Domaine des paramètres

Les paramètres de VST 2 sont définis dans le domaine 0-1.

Définir les véritables domaines : min/max/défaut, unité, et les fanions entier/logarithmique, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.