Skip to content

Instantly share code, notes, and snippets.

import clr
from pprint import pformat
import System
from System.Reflection import *
analogMap = []
global analogMap
jogMap = []
global jogMap
buttonMap = []
import clr
from pprint import pformat
import System
from System.Reflection import *
analogMap = []
global analogMap
jogMap = []
global jogMap
buttonMap = []
def analog(midiNum, analogNum, stick, axis):
analogMap.append([midiNum, analogNum, stick, axis])
def jog(midiNum, knobNum, stick, buttonL, buttonR):
jogMap.append([midiNum, knobNum, stick, buttonL, buttonR])
def button(midiNum, buttonNum, stick, button):
buttonMap.append([midiNum, buttonNum, stick, button])
def update():
def knob(midiNum, knobNum, axis):
knobMap.append([midiNum, knobNum, axis])
def update():
diagnostics.watch(midi[1].data.buffer[0])
diagnostics.watch(midi[1].data.buffer[1])
diagnostics.watch(vJoy[0].axisMax * midi[1].data.buffer[1] / 127)
for k in knobMap:
if midi[k[0]].data.buffer[0] == k[1]:
k[2] = vJoy[0].axisMax * midi[k[0]].data.buffer[1] / 127
@PWBENNETT
PWBENNETT / Marpa.tmLanguage
Created November 21, 2015 20:16
Updated Marpa Highlighter for TextMate / SublimeText
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>scopeName</key>
<string>source.marpa</string>
<key>fileTypes</key>
<array>
<string>marpa</string>
<string>mr2</string>
@PWBENNETT
PWBENNETT / abuse_reporter.pl
Created November 20, 2014 11:30
Synopsis for Net::Abuse::Reporter
#!/usr/bin/env perl
use 5.020;
use utf8;
use Net::Abuse::Reporter;
use My::Abuse::Log::Getter qw( get_log );
my $reporter = Net::Abuse::Reporter->new();
@PWBENNETT
PWBENNETT / movable_feast.slif
Last active August 29, 2015 14:09
Starting in on a language for Dave Ackley's "Movable Feast" architecture
:default ::= action => [ values ] bless => ::lhs
lexeme default = action => [ start, length, value ] bless => ::name latm => 1
:discard ~ whitespace
whitespace ~ [\s]+
:discard ~ comment
comment ~ terminatedcomment | finalcomment
terminatedcomment ~ '//' commentbody vspace
finalcomment ~ '//' commentbody
commentbody ~ commentchar*
vspace ~ [\x{A}\x{B}\x{C}\x{D}\x{2028}\x{2029}]
@PWBENNETT
PWBENNETT / _etc_nginx_sites-available_myapp
Created September 30, 2014 04:31
Paths for Linux Mint and Ubuntu-likes. Replace '_' with '/' in the filenames. On some other platforms, daemontools services live in /service instead of /etc/service
upstream myapp {
server unix:/local/myapp/myapp.sock;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /local/myapp/public/;
@PWBENNETT
PWBENNETT / snippet.pl
Created September 24, 2014 10:36
BigInt always gives me the wiggins when I try to use it. I don't know whether this is going to explode, or work perfectly.
sub as_n128 {
my $self = shift;
my $rv;
{
use Math::BigInt try => 'GMP,Pari,Calc';
my $accum = Math::BigInt->new('0');
my $factor = Math::BigInt->new('1')->blsft(Math::BigInt->new('32'));
for my $i (map { $_ * 4 } 0 .. 3) {
$accum->bmul($factor);
$accum->badd(Math::Bigint->new('' . unpack 'N32', substr($self->{ address }, $i, 4)));
@PWBENNETT
PWBENNETT / Table.pm
Created September 22, 2014 11:15
Data::Dumper::Table
package Data::Dumper::Table;
use 5.020;
use utf8;
no diagnostics;
use Scalar::Util qw( reftype refaddr blessed );
use Text::Table;
use Exporter qw( import );