APEX, MIDI und das LAUNCHPAD

Ähnliche Dokumente
PhantomJS und CasperJS

Jedes Byte zählt. Tuning-Rezepte für APEX-Anwendungen in der Cloud. Andreas Wismann WHEN OTHERS

DOAG Regionaltreffen Berlin/Brandenburg

CN17 MIDI-Konfigurationsanleitung MIDI Einstellungen

CA17 MIDI-Konfigurationsanleitung MIDI Einstellungen

CN27 MIDI-Konfigurationsanleitung MIDI Einstellungen

Inhalt. Musical Instrument Digital Interface. Geschichte Verwendung Protokoll Übertragung Kritik Praxis Beispiel Quellen

TRANSLATION MT-61 (MK-61) OWNERS MANUAL into German:...

Bedienungsanleitung 0,',678',2. >>>Picture : Studio-Keyboard Design.jpg

Buchführung und Zeiterfassung mit APEX mobil erledigen

MIDI Recording mit moderner Sequencer Software

AEDS 1205 Johannes Schwenk MIDI

CA58 MIDI-Konfigurationsanleitung MIDI Settings (MIDI Einstellungen)

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

CN37 MIDI-Konfigurationsanleitung MIDI Settings (MIDI Einstellungen)

PL1LFRQWURO. Bedienungsanleitung. Einleitung

Neue Welten: Externe Daten mit APEX nutzen

Oracle Forms und APEX

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Order Ansicht Inhalt

Codegenerator für APEX Collections und Tabular Forms

CN35 MIDI-Konfigurationsanleitung MIDI Settings (MIDI Einstellungen)

miditech 4merge 4-fach MIDI Merger mit :

PG5 Starter Training PG5 Core und Webeditor 5 Daniel Ernst DE

CIUS - AMPEL - ANLAGE. Steuern und Regeln. A. Steinbach Realschule Tamm. Da stimmt doch was nicht?

HOW TO. BEHRINGER MOTÖR61/49 Keyboards. Zuweisung des MC Modus in der DAW (Digital Audio Workstation / Sequenzer)

CS11/CS8 MIDI-Konfigurationsanleitung MIDI Settings (MIDI Einstellungen)

APEX New Features Carola Berzl

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

Bedienungsanleitung CSM 2 A

FM Legacy Converter Bedienungsanleitung

DMXface ACTIVE SEND mit RS232

Überblick über APEX Carolin Hagemann

APEX - Hilfe. WHEN OTHERS Beratung Projektmanagement Coaching. Gelungene Benutzerführung (fast) ohne Mehraufwand. Andreas Wismann

Der MIDI Manager. Parameter der einzelnen Slots Globale Parameter Mixer / Effects Clock System Parameter. - Tactive Instrument Modeller

APEX verbessern mit Browser-Extensions

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

SQL, PL/SQL, JavaScript, jquery,... Quellcode in APEX clever organisieren

SLEDGE 2.00 Auto Dual Mode: Global Pitch & Hold Bedienelemente: Reverb + Delay: Samples: Sledge Spectre:

PLGLFRQWURO. Bedienungsanleitung. Einleitung

Evolution MK-261

Man hört viel von MIDI, das Prinzip ist ja auch schnell verstanden Versuch die technischen Grundlagen zu erarbeiten:

APEX Datenverwaltung Wo sind die Daten gerade?

Mail: Web: juergen-schuster-it.de

Einrichten Ihrer Roland V-Drums mit Melodics.

APEX Plugins: Alles, was Sie darüber wissen müssen. Denes Kubicek

DOAG München Layout und dynamische Elemente für APEX Anwendungen

Update V2.3 B4000+ Firmware

WiFi Bluetooth Lautsprecher Bedienungsanleitung

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.

APEX und JavaScript. Beispiele, Pattern und Best Practices. Hendrik Gossens Consultant OPITZ CONSULTING GmbH. Nürnberg,

Xojo für FileMaker Entwickler

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

APEX und Drucken Die Schöne und das Biest! Seite 1 von 61

MIDIcon 2-Zuordnungssoftware

A1 WLAN Box ADB DV 2210 WLAN Sicherheit & WLAN-Kanal ändern

A1 WLAN Box PRG AV4202N WLAN Sicherheit & WLAN-Kanal ändern

Neues in Apex 5.2 beziehungsweise 18.x

Handbuch. S/ATA PCI Card 1+1. deutsch.

Benutzer Handbuch. Front-Panel I/O BOX mit dazugehörigen Verbindungskabeln.

Progressive Web Apps mit APEX. Till Albert

Die APEX 5 Migra'on. Präsen'ert von Tobias Arnhold

1 Gestatten: Raspberry Pi! Schnellstart: Die erste Inbetriebnahme Den Desktop kennenlernen Wichtige Konsolenbefehle im Griff 69

Anleitung zur Installation von Treiber (zwei) und Datenlesesoftware (ToolBox) Misst Radioaktivität einfach und zuverlässig.

APT-X BLUETOOTH MUSIK-TRANSMITTER/SENDER

APEX OOS TOOLS & HELFER

Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0

Inhaltsverzeichnis Einleitung... 3

A1 WLAN Box PRG AV4202N für Mac OS X 10.8 bis 10.10

A1 WLAN Box Thomson Gateway 789vn WLAN Sicherheit & WLAN-Kanal ändern

Inhalt Yamaha Corporation. Alle Rechte vorbehalten.

APEX DESKTOP APPS. Interaktion mit dem Client System

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Jedes Byte zählt Neue Tuning-Rezepte für APEX-Anwendungen in der Cloud

USB -> Seriell Adapterkabel Benutzerhandbuch

Schnellstartanleitung

qfix ASCII-Protokoll

Die Sonne spielt Musik

Programmieren statt Schrauben. Virtuelle Instrumente

HTML5 und das Framework jquery Mobile

ColdFusion 8 PDF-Integration

Ulrich Stein

Quick Installation Guide

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren)

Erkunder-Simulation. Realitätsnahe Übungen mit dem ABC-Erkunder. Simulation der GPS-Daten

Transkript:

Page Designer, Next Generation APEX, MIDI und das LAUNCHPAD Andreas Wismann WHEN OTHERS Entwicklung Coaching Projektplanung wismann@when-others.com

warum? 2

Andreas Wismann Dipl.-Informatiker (FH) wismann@when-others.com 41564 Kaarst (bei Düsseldorf) Klavier seit 1968 (im Alter von 4) Programmierung seit 1978 Datenbanken seit 1983 Web seit 1995 Oracle seit 1997 3

Mein Proberaum 4

2014: Was ist "Web Audio API"? Web Audio API im Browser Sounddateien abspielen Audio erzeugen Effekte hinzufügen Audio streamen auf das Mikrofon zugreifen 5

Was benötige ich für Web Audio? Web Audio API im Browser Sounddateien abspielen Audio erzeugen Effekte hinzufügen Audio streamen auf das Mikrofon zugreifen Einen modernen Browser ( siehe http://caniuse.com ) Einen Lautsprecher, der mit dem Computer verbunden ist :-) 6

Was benötige ich für Web Audio? try { window.audiocontext = window.audiocontext window.webkitaudiocontext; audiocontext = new AudioContext(); oscillator = audiocontext.createoscillator(); } catch (e) { console.log( No support for Web Audio ); } siehe http://www.html5rocks.com/en/tutorials/webaudio/intro/ 7

Früher war alles besser... if keycode = 13 then beep() 8

Oder doch nicht? Loop beep() until length(input) > 0 9

APEX demo: beep 10

Wofür beep()? Ungültige Benutzereingaben Wichtige Fehlermeldungen Rückkehr von lang laufenden SQL-Abfragen 11

Zwei neue Browser APIs Web Audio API im Browser Web MIDI API Sounddateien abspielen Audio erzeugen Effekte hinzufügen Audio streamen auf das Mikrofon zugreifen MIDI empfangen MIDI senden 12

Welche Browser? Google Chrome / PC (mindestens Version 38) Eingeschaltetes Flag #enable-web-midi (standardmäßig true) In anderen Browsern hilft WebMIDIAPIShim Ein MIDI-fähiges Gerät über USB 13

Loslegen mit Web MIDI try { navigator.requestmidiaccess().then ( onmidisuccess, onmidifailure ); } catch (e) { console.log( No support for Web MIDI ); } siehe https://www.keithmcmillen.com/blog/making-music-in-the-browser-web-midi-api/ 14

MIDI-Daten empfangen requestmidiaccess for all midiaccess.inputs.values() listener onmidimessage schreiben message.data auslesen und coole Sachen machen :-) 15

MIDI-Daten senden requestmidiaccess midiaccess.outputs auslesen angeschlossene USB-Geräte an jedem port finden port.send <Befehle, Daten> 16

Was ist MIDI? Musical Instrument Digital Interface Serielle 8-bit-Schnittstelle kabelgebunden, 31250 bit/s Jede Nachricht hat 4 Bytes für "welcher Kanal" (0-15 => MIDI Channel 1-16 ) In den Demos wird nur MIDI Channel 1 benutzt 17

Mein erster programmierbarer Synthesizer mit MIDI (1983)

Mein erster ATARI (1985)

und endlich mit MIDI

21

MIDI DIN Stecker

MIDI DIN Stecker 23

Typisch: 3 MIDI-Buchsen 24

MIDI Häufige Nachrichtentypen: Note on (Key 0-127, Attack Velocity 0-127) Note off (Key, Release Velocity) Controller Data (Nr, Value 0-127) Program Change (Nr, Value 0-127) Aftertouch Pitch Bend 25

alle Bedienelemente senden MIDI 26

MIDI Das Status Byte ist das einzige mit gesetztem höchsten Bit und besteht aus... 4 bits = MIDI command (like Note On ) 4 bits = MIDI Channel (0-15) Alle Data Bytes können die Werte [0 127] abbilden 27

das Instrument lauscht Hier kommt ein Befehl! 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 Note On Channel 0 Key = 56 Velocity = 99 28

MIDI Controller 29

MIDI und USB (2005) 30

Instrument links steuert Instrument rechts (1 DIN-Kabel) MIDI Out MIDI In 31

beide gekoppelt (2 DIN-Kabel) MIDI In MIDI Out MIDI Out MIDI In 32

33

Wireless MIDI (100 m) 34

APEX Demo: Behringer Foot Pedal Controller 35

Anwendungsfälle? HTML-Seiten hoch/runterscrollen Bookmarks öffnen Enter-Taste simulieren Industrielle Umgebungen, Messen 36

MIDI über USB 37

AKAI APCmini

AKAI APCmini "Launchpad" 39

Tampermonkey

Chrome? Tampermonkey. 41

AKAI Launchpad im Page Designer 42

[ Quellen ] midi.org stackoverflow.com w3schools.com caniuse.com creativejs.com webaudiodemos.com webaudioapi.com/samples 43

Web MIDI API Keine Probleme. Immer stabil. 44

Stolperfallen Setzen oder Auslesen von Report-Attributen? => After Refresh Dynamic Actions verwenden Brauchen Sie pause or delay in Ihrem JavaScript-Programm? => settimeout (function, nnnn) Viele Ideen, aber keine Ahnung "wie"? => ein gutes Buch über jquery und CSS lesen 45

Wohin mit dem JavaScript? Region Source (conditional oder mit Build Options): => EXPERIMENTELLE Skripte Page JavaScript, Global Page (Page 0): => GETESTETE Skripte Webserver, Shared Components: => PRODUKTIVE Skripte 46

Buchempehlung David Sawyer McFarland 3. Auflage 2014 683 Seiten 41,00 47

Vielen Dank! 48