Skip to content

Instantly share code, notes, and snippets.

View iccir's full-sized avatar

Ricci Adams iccir

View GitHub Profile
@iccir
iccir / Envelope.js
Created March 12, 2019 12:19
Envelope in Javascript
class Envelope {
constructor(type, strength, fromValue, toValue, sampleCount)
{
this._generate(type, strength, fromValue, toValue, sampleCount);
}
@iccir
iccir / SemanticColors.txt
Last active January 19, 2026 21:10
macOS Semantic Colors
Note:
1) These may change in future versions of macOS.
2) Apple may also add more appearances or control accent colors in the future.
3) You probably don't want to hardcode color values.
4) Watch:
https://developer.apple.com/videos/play/wwdc2018/210
https://developer.apple.com/videos/play/wwdc2018/218
All colors specified in the sRGB color space.
#include <math.h>
#include <Accelerate/Accelerate.h>
/* filter signal x with filter h and store the result in output.
* output must be at least as long as x
*/
void
fft_fir_filter( const float *x,
unsigned x_length,
@iccir
iccir / ninfo.rb
Created August 10, 2017 10:32
ninfo
#!/usr/bin/ruby
s = ARGV[0]
if s =~ /^0x/ then
n = s.hex
else
n = s.to_i
end
@iccir
iccir / easing.js
Created August 3, 2017 03:37
easing.js
function ease(p) {
p *= 5;
if (p < 1) {
return (-0.9 * Math.cos(p * (Math.PI / 2)) + 0.9 + (0.1 * p)) * 0.3;
} else {
p = ((p - 1) / 4);
var p1 = p - 1;
return (((p1 * p1 * p1 + 1) * 0.9) + p * 0.1) * 0.7 + 0.3;
@iccir
iccir / envelopes.js
Created August 3, 2017 01:52
Envelopes
// Fade Ins:
// Linear:
for (let i = 0; i < length; i++) {
array[i] = i / length;
}
// Exponential, Concave Up:
let silence = Math.pow(10.0, -120.0 / 20.0); // Silence is -120dB
let fromValue = silence;
@iccir
iccir / cpng.sh
Last active July 6, 2017 03:12
cpng
#!/bin/sh
IFS=$'\n'
FORCE=0
compress_png () {
more_args=""
# Note: I use an "og_" prefix on a file to indicate "opaque and grayscale",
# "g_" for grayscale, and "o_" for opaque.
#!/bin/sh
IFS=$'\n'
FORCE=0
compress_png () {
more_args=""
if [[ $1 = og_* ]]; then
more_args="-c 0"
@iccir
iccir / MTSDebugTouchEvents.m
Created November 5, 2016 01:39
MTSDebugTouchEvents
/*
When MTSDebugTouchEvents() is called, -[UIApplication sendEvent:] will flash
the views which receive touch events.
*/
@implementation UIApplication (MTSDebug)
- (void) mts_sendEvent_highlightTouches:(NSArray *)touches
{
static NSMutableDictionary *sViewToWindowMap = nil;
@iccir
iccir / fix_pw_sierra_beta.command
Last active August 17, 2016 06:27
Fixes Pixel Winch on macOS Sierra Beta
#
# Due to a change with the App Sandbox, Pixel Winch 1.1 cannot capture screenshots
# in the beta version of macOS Sierra. As a workaround until Sierra GM, run the below commands.
#
# For more information, if you are a third party developer, check out:
# https://eternalstorms.wordpress.com/2016/08/01/screencapture-and-the-sandbox-in-macos-sierra/
# https://forums.developer.apple.com/message/152226#152226
#
# If you are an Apple engineer, check out:
# 27245600, 27610157, 27735823