Script de traitement avec le MIDI (9 / 12 étapes)

Étape 9: Encore un autre bus...

Vous pouvez regarder le code source finale pour voir ce que je suis venu avec des gestionnaires de remarque, exécutez-le avec l’exemple de fichier de Renoise, ou regarder la vidéo juste voir en action. Il n’y a de très bonnes chances que le code ne sera pas exactement ce que j’ai montré ici. Comme j’ai été décrivant l’esquisse que j’ai été revoir comment les choses devraient travailler. Il s’agit de la nature du codage exploratoire.

Tandis qu’essayer cela et que j’ai réalisé qu’il peut être difficile de pré-plan de chaque modification et interrupteur et sautez, vous pourriez vouloir voir dans le sketch. Comme je voudrais modifier code ou modifier les pistes MIDI en Renoise et regarder les résultats je ne cessais de penser, Hé, un changement de teinte soudaine serait une bonne chose, ou ce serait le bon rythme à vomir doubles images pleines pour la moitié d’une barre. En d’autres termes, il y avait quelques effets sélectionnez que j’ai voulu mais seulement à des moments clés.

Ce montage dans les rails de déclencheur de Renoise serait difficile. Tellement plus agréable pour activer certaines choses en temps réel en utilisant un autre contrôleur, lors de la lecture de la chanson.

J’avais a commencé à expérimenter avec mon clavier QuNexus. Ce dispositif vous permet de décaler l’octave, donc je pourrais ont travaillé avec une gamme de notes pas déjà assignés. Mais j’ai voulu utiliser un contrôleur qui pourrait être plus intuitif, autre chose qu’un clavier standard.

J’ai ramassé une Novation Launchpad quelque temps l’année dernière. C’est une grille de commutateurs de touch-pad. Il n’y a aucun contrôle de la vitesse, juste on/off, idéal pour le déclenchement des échantillons et les boucles et autres. Il envoie les notes MIDI dans une fourchette prédéfinie. Maintenant, j’ai bien sûr, il y a un moyen de changer ce que fait remarquer est attribués à chaque bouton, mais puisque le nom de bus est répercuté sur les gestionnaires de note MIDI dans le sketch que je peux réutiliser en toute sécurité les notes existantes.

Une autre approche pourrait consister à définir le Launchpad d’utiliser un canal spécifique. Vous pouvez décider par vous-même si la sélection comportement sur un autre canal ou ramification basé sur le nom de bus mieux vous s’adapte modèle mental de ce qui se passe.

Il y a divers endroits, que le code peut commuter le comportement basé sur le nom de bus. Une, bien sûr, est à l’intérieur de chacune des méthodes REMARQUE-manutention. Une autre serait en invokeNoteHandler. Bien que j’ai été passant le nom de bus sur les gestionnaires de la note mes idées pour savoir comment utiliser le tableau de bord n’a pas envie un bon ajustement pour la note existante, code de gestion. Par exemple, si j’ai envoyer C48 à partir du tableau de bord je suis pas cherchez peut-être pour faire une autre variation sur le motif de grille-remplissage de 4x4, mais quelque chose de tout à fait différent. Ajout d’un test en onNote48 pour cet appareil particulier senti maladroit. Supposons que j’ai défini un ensemble différent de gestionnaires de remarque, spécifiques à ce dispositif ?

Cela me sauverait le désagrément d’avoir à ajouter que cette vérification nom_périphérique à chaque méthode d’onNoteNN unique sur la hors-chance il y a un chevauchement de valeur de note. L’inconvénient, c’est d’avoir un nom de périphérique codées en dur dans mon esquisse.

... et encore une autre option de configuration

Alors que je voulais envoyer certains messages MIDI pour sélectionner les gestionnaires basés sur le nom de bus je ne voulais pas de coder en dur le nom d’autobus. À la maison, j’ai un choix des contrôleurs, mais que j’écris cette phrase je me trouve être HeatSyncLabs. Je n’ai pas apporté le Launchpad ; le QuNexus s’adapter beaucoup mieux dans mon sac d’ordinateur portable.

Plutôt que de compter sur le nom d’un contrôleur spécifique dans le code, j’ai ajouté une autre option de configuration pour permettre le mappage des noms de périphérique à un autre texte.

L’entrée de config.jsi ressemble à ceci :

 device_mappings: {"Launchpad": "grid", "QuNexus": "grid" } 

Dans esquisse le code qui met en place les dispositifs maintenant ressemble aussi pour voir si il existe un mappage de périphérique pour un périphérique trouvé, et si oui puis il utilise ce nom de cartographie sous le nom de bus plutôt que puis périphérique prénom.

Cela nécessitait encore un autre changement à Configgy.pde. Ce qui est nouveau, c’est que vous pouvez stocker un nom:{} réglage et récupérer une table de hachage du nom/valeur paires de chaînes.

Si le croquis attrape ces mappages de nom de périphérique...

 HashMap mappings = config.getHashMap("device_mappings"); 

... et puis plus tard...

 if (mappings.containsKey( deviceNames[x] ) ) { println("+ + + + Add device using mapping " + mappings.get( deviceNames[x]) ); devices.add( new MidiBus(this, available_inputs[i], 1, (String) mappings.get( deviceNames[x]) ) ); } else { devices.add( new MidiBus(this, available_inputs[i], 1, deviceNames[x]) ); } 

Maintenant le message MIDI envoi code peut chercher des messages depuis un bus nommé grille ; le périphérique réel pourrait être n’importe quel nombre d’appareils en fonction de ce que vous avez fixé, et comment vous avez mappé les noms.

Maintenant acheminer sur messages MIDI peut appeler des gestionnaires spécialisés :

 void invokeNoteHandler(int note, int velocity, int channel, String bus_name) { try { Class[] cls = new Class[3]; cls[0] = int.class; cls[1] = int.class; cls[2] = String.class; if (bus_name.equals("grid") ) { Method handler = this.getClass().getMethod( "onGridNote" + note, cls ); handler.invoke(this, velocity, channel, bus_name); } else { Method handler = this.getClass().getMethod( "onNote" + note, cls ); handler.invoke(this, velocity, channel, bus_name); } } catch (Exception e) { println("* * * * * * Error handling note " + note + ", velocity " + velocity + ", channel " + channel + ", bus_name " + bus_name + " * * * * * * "); e.printStackTrace(); } } 

Articles Liés

Comment contrôler un croquis de traitement avec deux entrées Arduino

Comment contrôler un croquis de traitement avec deux entrées Arduino

Ce tutoriel va vous montrer comment construire un circuit de base Arduino qui permet de contrôler un fun ball couleur croquis dans le traitement.Vous aurez besoin :1 x carte Arduino (j'utilise un Uno)1 x planche à pain1 Photo de x-résistance1 x 10 k
Comment faire un synthétiseur sonore Arduino avec interface MIDI

Comment faire un synthétiseur sonore Arduino avec interface MIDI

Avec ce synthétiseur, vous pouvez faire Arduino reproduire des formes d'ondes totalement personnalisés. En raison de l'interface MIDI, il peut être connecté à n'importe quel instrument qui disposent et jouer avec le son souhaité.Étape 1: matériauxArd
Poux des volailles - quoi, pourquoi, qui, quand et où ? Traitement avec des huiles, prévention avec le régime. Poulets biologiques

Poux des volailles - quoi, pourquoi, qui, quand et où ? Traitement avec des huiles, prévention avec le régime. Poulets biologiques

J'aurais aimé avoir droit à cette pièce « beaucoup de choses que vous ne voulais pas savoir sur les poux, mais un jour peut être heureux que vous avez fait ».Par la suite instructable, j'essaie de condenser deux des articles que j'ai écrit sur le pou
Cellule photoélectrique réagit à la lumière d’un œil. un projet d’introduction pour l’utilisation de traitement avec Arduino

Cellule photoélectrique réagit à la lumière d’un œil. un projet d’introduction pour l’utilisation de traitement avec Arduino

Dans ce projet, vous pouvez voir un exemple simple d'utilisation le traitement afin de faire une représentation graphique de données qu'un arduino obtient comme un détecteur de. Dans ce cas, une cellule photoélectrique.Après obtenant une image de le
Comment couper Bullnose de perles en plaques de plâtre avec un Mider

Comment couper Bullnose de perles en plaques de plâtre avec un Mider

c'est comment nous couper des billes de cloison sèche rond qui se rencontrent dans un angle de 90 degrés. Nous allons utiliser un outil appelé un « Mider » à l'occasion de nos lignes afin d'avoir nos coins sans lacunes où ils se rencontrent. S'il exi
Gars : Comment traiter avec les filles sur internet.

Gars : Comment traiter avec les filles sur internet.

Après un membre ici s'est plaint des attaques et mesquin blagues sur le fait qu'elle était une fille sur ce site, j'ai pensé que cela pourrait être une bonne idée... Le thread d'origine.Donc voilà, un guide traitant des femmes sur l'internet, sans fa
Comment contrôler un jeu simple de traitement avec Arduino

Comment contrôler un jeu simple de traitement avec Arduino

Bonjour à tousDans ce Instructable, nous allons voir comment créer un « lien » entre une esquisse de traitement et une carte Arduino. Dans cet exemple, un module à ultrasons sera utilisé pour contrôler un avion dans un jeu simple. Encore une fois, ce
Post-traitement avec un GPS GeoExplorer3

Post-traitement avec un GPS GeoExplorer3

collecte des caractéristiques avec n'importe quelle unité de système de positionnement Global (GPS) peut être utile et intéressant. La plupart des gens rencontrent les unités de GPS après tout les collecte de données et le traitement est terminé. Nou
Voiture R/C contrôles de traitement avec les modules XBee

Voiture R/C contrôles de traitement avec les modules XBee

cette instructable est une modification de ma présentation à la communauté Processing Chicago au laboratoire de visualisation électronique (EVL), Université de l'Illinois à Chicago le 1er octobre 2012. Dans la rubrique desSérie de la bibliothèque de
À l’aide de traitement avec Ember

À l’aide de traitement avec Ember

Une des choses qui m'intéresse le plus sur braise, est le fait que les fichiers d'entrée sont une pile de png. Cela signifie que l'on peut nourrir essentiellement les images imprimante sans la nécessité d'organe solide modélisation, LSE ou trancher !
Traiter avec pâte à Pizza

Traiter avec pâte à Pizza

pâte à Pizza peut être délicat, avouons-le. Dérouler avec un rouleau à pâtisserie peut produire une pizza acceptable bien que plat, et si vous avez trop travailler la pâte sera simplement d'étirement retour comme un élastique (pas de mention avoir du
Simple astuce de Dernière Minute ou sac de bonbons traiter avec motif

Simple astuce de Dernière Minute ou sac de bonbons traiter avec motif

rendre cette dernière minute facile truc sac de bonbons en aucun temps du tout !  Utilisez ce modèle super simple, feutres, colle et un peu de couture pour concocter un sac de friandise pour votre soir de l'Halloween.  Si vous n'avez pas une machine
Traiter avec un froid

Traiter avec un froid

je me suis réveillé hier ne se sentant pas bien, et j'ai vite compris, j'ai eu un rhume. Hiver et le printemps sont les capitols froids de l'année, afin de vous préparer à ce qui est à venir, voici quelques conseils pour traiter un rhume !Étape 1: sy
Traiter avec Raw bords de tissu de toile de jute

Traiter avec Raw bords de tissu de toile de jute

si vous avez déjà travaillé avec toile de jute, vous remarquerez que parfois simplement en découpant la forme de votre chemin de table, napperon ou petit tapis toujours ne fait pas l'affaire. Parce que les bords ne sont pas cousus, ils vont être effi