A Bitwig-Studio Controller Script for Yamaha MX49 and MX61 (Version2)

Nikolaus Gradwohl2016-10-20T07:51:25+02:00

I made an update to my bitwig mx49/61 controller script. I finally worked out how the cubase plugin controlls the text that is displayed on the lcd by tracing through huge piles of captured systex messages using a hex editor.

The new version can be Downloaded on my github page

to install it unzip the files to the "Bitwig Studio/Controller Script"-Folder

Now the script displays the name of the current device when you switch it.

Then the labels of the macro knobs are shown in the display. If a macro is unassigned the knob is shown as "disabled" on the display

bitwig device

mx61 display

bitwig device

mx61 display

as in the previous version I have

mapped the 4 knobs to macro 1-4 on page 1

to macro 5-8 on page 2

and to volume, pan, send1 and send2 of the selected channel on page 3

"AddInst Track" creates a new Instrument Track

and "VSTi Window" opens the device browser.

Have fun!

read more ...

Javascript and Typescript link-collection

Nikolaus Gradwohl2016-09-13T05:30:56+02:00

javascript link collection

I have used javascript a lot on the client side as an addition for various backend frameworks but I never used it for full stack development. In the last few monthts I used angular2, node.js and express in some POCs and and smaller pirvate web applications - Here are some of the links I found helpful.


I used mainly angular2 and typescript for my frontends. I looked at various other frameworks, but this is what I liked the most.



I really like the hero tutorial by the angular2 team. https://angular.io/docs/ts/latest/tutorial/


since angular2 recommends typescript I started learning it - if you have used an object oriented language like java before, you will feel at home very fast. https://www.typescriptlang.org/

a nice tutorial on how to wirte an angular2 component in typescript https://toddmotto.com/creating-your-first-angular-2-component

How to write a tab-bar in angular2 using typescript http://blog.thoughtram.io/angular/2015/04/09/developing-a-tabs-component-in-angular-2.html


Angular uses rxjs components like Observable in some components

https://reactcommunity.org/ https://gist.github.com/staltz/868e7e9bc2a7b8c1f754


I used bootstrap 3 to style my frontend. I really like this framework, it surely doesn't solve all your designers need but it helps to get a decent looking frontend fast http://getbootstrap.com/

You can also style file-upload buttons https://www.abeautifulsite.net/whipping-file-inputs-into-shape-with-bootstrap-3

Prism is a nice framework for code highlighting in javascript http://prismjs.com/index.html

read more ...

A Bitwig-Studio Controller Script for Yamaha MX49 and MX61

Nikolaus Gradwohl2015-10-16T08:37:27+02:00

I wrote a bitwig-studio controller script for the yamaha MX49 and MX61 keyboards

you can download it from my github page

to install copy the files to your 'Bitwig Studio/Controller Scripts/' Folder

I mapped the 4 knobs to macro 1-4 on page 1

to macro 5-8 on page 2

and to volume, pan, send1 and send2 of the selected channel on page 3

"AddInst Track" creates a new Instrument Track

and "VSTi Window" opens the device browser.

Lightbox-Effekt for Processing-Sketches

Nikolaus Gradwohl2011-07-08T07:30:35+02:00

In my Processing Sketch gallery I wanted to run processing sketches inline using a lightbox effekt. With the help of jquery and some ajax-blackmagic I generated a script that loads the index.html of the processing export and runs the applet in a lightbox.

If javascript is enabled the original index.html is opened.

to integrate it in a page simply include jquery, the processing.js script and processing.css in a html page. The script also need the deployJava.js from java.com that is also used in the index.html files of an processing applet-export.

<script type="text/javascript" src="http://www.java.com/js/deployJava.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="processing.js"></script>
<link rel="stylesheet" type="text/css" href="processing.css"/>

Then simply link the processing sketch and mark the link with class="processing"

<a class="processing" href="http://yourserver/processing/sketchfolder/">My processing sketch</a>

To see it running click on this Example Link

read more ...

Table column highlighting with jquery

Nikolaus Gradwohl2010-10-29T03:20:00+02:00

in one of my recent projects i needed to highlight a table row and column of a html table on mouseover.

i found out that it's quite simple to do in jquery - even without a plugin.

first you have to find out in which column your mouse pointer currently is.

var idx = $(this).parent().children('td,th').index( $(this))+1;

and then you mark all the td's and th's in the table with the same column index

$('td:nth-child('+idx+')').addClass( 'hover' );
$('th:nth-child('+idx+')').addClass( 'hover' );

click here to download a simple example project.

column and row heighlighting

read more ...

calling webservices from mootools, jquery or dojo

Nikolaus Gradwohl2010-01-24T16:44:00+01:00

I wrote a small webservie using java6 and jax-ws. Then i wrote clients for the webservice using some some popular javascript frameworks. I used mootools, jquery and dojo for writing the clients.

I tried to use the same simple form for all the three clients to make them comparable. I also used no libraries besides the core framework classes.

click here to download the sourcecode of the clients and the java-service

read more ...

processing.js in dashboard widget

Nikolaus Gradwohl2009-04-07T05:45:00+02:00

I managed to get processing.js - a javascript based processing clone - to run in an apple dashboard widget.

processing.js widget

read more ...

JavaScript CalDAV-Frontend

Nikolaus Gradwohl2009-03-29T12:39:00+02:00

I just wrote a realy simple and small frontend for caldav calender (~700 lines of code including html) using the mootools framework it supports multiple calendar and displays a read-only week-view.

i'm using it with a DAViCal server

to install it, simply download the package, unpack it on your caldav server and enter the caldav urls of your calender in the config.js file.

thats it

have fun :-)

read more ...

Linedemo in processing.js

Nikolaus Gradwohl2008-10-20T19:47:00+02:00

Todays usless processing-sketch is written in a processing dialect written in java-script. The demo shows a rotating line and uses the canvas element. So if you can't see anything try another browser.

read more ...

automatic proxy configuration in firefox

Nikolaus Gradwohl2007-11-03T15:43:00+01:00

In an erlier article i describe how to switch between the network environments i am using, but there was one programm i could not convince to let me change the proxy settings via apple script - firefox.

i still needet to switch the firefox settings per hand - something i didnt like at all.

one day the little "fetch proxy settings for url" dialog part from the firefox proxysettigns made me courious and i found out, that firefox expects a javascript file on this url, which tells firefox what proxy to use.

function FindProxyForURL(url, host) {
    if ( dnsResolve( host ) == "" ) {
        return "DIRECT";
    } else {
        return "PROXY proxyhost:8080";

this script can use some predefined functions like "isInNet" or "dnsResolve" to determine which network Im in and use the appropriate proxy. the file doesnt even have to live on a http server, a file:// url is sufficient.

e voila - no more manual proxy switching

read more ...