Skip to content

Instantly share code, notes, and snippets.

Andrew Belt AndrewBelt

View GitHub Profile
View image_to_wavetable.py
# Converts an 8-bit RGB PNG to a 16-bit WAV wavetable bank.
# The brightness of the pixel at (x, y) converts to the value of sample x in bank y.
import sys
import os
import numpy as np
import scipy.io.wavfile
import imageio
path = sys.argv[1]
View AudibleInstrumentsUpdater.py
# Audible Instruments Patch File Updater
# Migrates VCV patches from AudibleInstrumentsPreview to AudibleInstruments in bulk
# https://vcvrack.com/AudibleInstruments.html#preview
#
# usage:
# python AudibleInstrumentsUpdater.py path/to/patches/*.vcv
import sys
import json
@AndrewBelt
AndrewBelt / header2source.py
Created May 30, 2018
Convert C++ headers to boilerplate source files
View header2source.py
import sys
import re
import os
header_filename = sys.argv[1]
if not header_filename:
raise "No filename given"
@AndrewBelt
AndrewBelt / zipmerge.sh
Created Jan 2, 2018
Merges multiple ZIP files into a single ZIP
View zipmerge.sh
#!/bin/bash
OUT_NAME="$1"
shift
IN_NAMES="$@"
TMP_DIR=$(mktemp -d)
# Unzip each input ZIP
for IN_NAME in $IN_NAMES; do
unzip -n "$IN_NAME" -d "$TMP_DIR"
@AndrewBelt
AndrewBelt / panel2source.py
Created Nov 1, 2017
for exporting SVG panels to VCV plugin source files
View panel2source.py
# panel2source.py
# for exporting SVG panels to VCV plugin source files
# Version: 1
# Support contact email: /dev/null
# License: CC0
import sys
import os
import re
View alias-alphabet.sh
# alias alphabet
alias a='aunpack' # extract many archive formats avoiding tarbombs
alias c='printf "\ec"' # clear the screen (also Ctrl-L)
alias f='feh -FZ' # view images fullscreen
alias g='grep -ER' # extended recursive grep
alias i='curl icanhazip.com' # prints IP address
alias l='ls -lh' # detailed ls
alias m='make -j2' # recursive make (adjust to number of cores)
alias p='xclip -selection clipboard -o' # print clipboard
alias r='vim -R' # read-only vim
View pls+gib.sh
# pls + gib
# "Securely" transfer files between two computers, assuming the receiver has an accessible IP address
# Instructions:
# Add this to your .bashrc, and restart your terminal.
# Example session
#
# on receiver's terminal:
@AndrewBelt
AndrewBelt / cat.sh
Created Mar 13, 2015
Change your GroupMe profile picture to a random picture of a cat every time you run this script
View cat.sh
# Insert account info here
# Access token can be found by opening the Web Inspector console of Chrome or Firefox and looking for the key following "access_token"
# User ID can be found in the console inside the URL that looks like "/user/XXXXXXXX"
ACCESS_TOKEN=''
USER_ID=''
JSON_PAYLOAD='{"user":{"image_url":"http://thecatapi.com/api/images/get","avatar_url":"http://thecatapi.com/api/images/get"}}'
curl "https://v2.groupme.com/users/$USER_ID" --request POST -v \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0' \
-H 'Accept: application/json, text/plain, */*' \
View wat.rb
class Foo
def wat
return 'this is a method'
end
def bar
if false
wat = 'this is a local variable'
else
View generate_gallery.rb
You can’t perform that action at this time.