Lettura di input MIDI da Web MIDI API

Slides:



Advertisements
Presentazioni simili
Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
Advertisements

JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
+ Common actions Nicolò Sordoni. + Azioni comuni Esistono una serie di azioni di uso comune, che vengono messe a disposizione dalla piattaforma tramite.
Elaborazione delle Immagini Operatori Puntuali Luigi Cinque
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Visual Analytics Dashboard
Introduzione alla programmazione MIDI
© 2007 SEI-Società Editrice Internazionale, Apogeo
Lato Server - OMNIS Web Web Services.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Rete e comunicazione Appunti.
Riorganizzazione dei servizi: Registrazione, Ammissione,
Java: concetti e costrutti base
Valutazione del servizio scolastico Caratteristiche dell'informazione
Applicazione web basata su web service e web socket
LE FUNZIONI DELLA LINGUA
Programmazione per la Musica Presentazione del corso
Dispositivi MIDI in Java
Real-time 3D reconstruction using multiple depth cameras
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Trasmettitori e ricevitori
IL CONCETTO DI ALGORITMO
Il Binding Nicolò Sordoni.
Editing digitale della partitura Creazione di plugin
I PERMESSI IN LINUX.
Web MIDI API - Esempi Lezione 24
Didattica speciale : codici del linguaggio logico e matematico
Quesito C Esame di Stato del 2001 Considerazioni iniziali:
Corso di Ingegneria del Web e Applicazioni A A
Dati MIDI in Java Lezione 19
I FILES AD ACCESSO SEQUENZIALE
Qt by Examples LINUX DAY
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
01 - INTRODUZIONE ALLA DOMOTICA
istalliamo l’ambiente di sviluppo - ide
Nome docente | numero del corso
APP iCuore Save Luca Caprini Solution Developer, Engineering
Programmazione e Laboratorio di Programmazione
Classe III A A.s – 2012 Programma di Informatica
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Programmazione e Laboratorio di Programmazione
Messaggi Control Change
RESTITUZIONE PROVE INVALSI 2017
Programmazione e Laboratorio di Programmazione
Lezione 16 Web MIDI API Programmazione MIDI (Prof. Luca A. Ludovico)
Standard MIDI File: eventi MTrk
Fare ricerca, mai così facile
Lezione 7 Laboratorio 1 Programmazione MIDI (Prof. Luca A. Ludovico)
Messaggi System Exclusive
Messaggi Channel Mode Lezione 5
Web MIDI API - Esempi Lezione 17
Messaggi System Common e System Real Time
Standard MIDI File Lezione 10
Esercitazione su SMF Lezione 12
Esercizi sulla Web MIDI API
Collegamento di input e output tramite Web MIDI API
SCALE DI MISURA CARATTERI QUALITATIVI CARATTERI QUANTITATIVI
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Uno step sequencer Lezione 18
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Lezione Terza Primi passi di programmazione
COMMERCIO SU AREE PUBBLICHE NUOVA GESTIONE
Array (vettori) In linguaggio C / C++.
Transcript della presentazione:

Lettura di input MIDI da Web MIDI API Lezione 19 Lettura di input MIDI da Web MIDI API Programmazione MIDI (Prof. Luca A. Ludovico)

Obiettivo Leggere e gestire attraverso Web MIDI API gli ingressi che giungono alla browser app da una catena MIDI più o meno complessa posta a monte. Anche in questo caso, la catena MIDI può essere fisica o virtuale: dal punto di vista della Web MIDI API, non fa differenza. Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API

Elenco dei dispositivi in ingresso Avendo dichiarato una variabile chiamata midi cui viene assegnato un valore nel seguente modo var midi; function onMIDISuccess(midiAccess) { midi = midiAccess; // … } lo snippet di codice è: midi.inputs.forEach(function (key, input) { // do something elenco_porte_MIDI.html Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API

L’event handler onmidimessage Volendo intercettare tutti i messaggi MIDI su tutti gli input, si associa a ogni input rilevato l’event handler: function onMIDISuccess(midiAccess) { for (var input of midiAccess.inputs.values()) input.onmidimessage = getMIDIMessage; } function getMIDIMessage(midiMessage) { console.log(midiMessage); MIDI_monitor_console.html Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API

L’interfaccia MIDIMessageEvent I messaggi MIDI vengono scambiati con i dispositivi in ingresso e in uscita attraverso oggetti MIDIMessageEvent. Nell’esempio precedente, l’argomento midiMessage in ingresso a getMIDIMessage() è un oggetto MIDIMessageEvent. Questi oggetti sono molto ricchi di informazioni riguardanti i messaggi MIDI scambiati. Per verificarlo, è sufficiente aprire ciascuna struttura dati mostrata nella console dall’esercizio precedente. L’aspetto più interessante per noi è l’array di byte contenuto in data. Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API

Esempio: un MIDI monitor più «espressivo» Obiettivo: mostrare all’interno di una pagina web tutti gli eventi MIDI intercettati provenienti dai dispositivi di ingresso. Nel caso di messaggi noti, si vuole mostrare l’informazione del byte di stato e dei byte di dati in maniera più leggibile. Vengono gestiti i messaggi di NoteOn, NoteOff, Program Change e Pitch Bend Change. MIDI_monitor_webpage.html Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API

Esercizio Si aggiunga all’esempio precedente la gestione dei restanti messaggi di canale Si gestiscano in maniera grossolana i messaggi diversi da quelli di canale, indicando la famiglia di appartenenza e, conseguentemente, non mostrando l’informazione di canale. Programmazione MIDI (Prof. Luca A. Ludovico) 19. Lettura di input MIDI da Web MIDI API