Skip to content

Instantly share code, notes, and snippets.

View smj-edison's full-sized avatar

Mason Jones smj-edison

  • Washingon, US
View GitHub Profile
$ alias rr="taskset -c 0-7 /home/user/Downloads/rr-5.9.0-Linux-x86_64/bin/rr"
$ rr record -n -- ../jimsh runall.tcl
rr: Saving execution to trace directory `/home/user/.local/share/rr/jimsh-5'.
# -- program specific logs omitted -- #
$ rr replay
GNU gdb (GDB) 16.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
{
"output": {
"blocklist": [],
"compressor#0": {
"attack": 20.0,
"boost-amount": 6.0,
"boost-threshold": -72.0,
"bypass": true,
"dry": -100.0,
"hpf-frequency": 10.0,
Preamp: 0 db
Filter 1: ON PK Fc 545 Hz Gain -9.8 dB Q 3.541
Filter 2: ON PK Fc 729 Hz Gain -3 dB Q 3.32
Filter 3: ON PK Fc 1290 Hz Gain -6.4 dB Q 3.25
Filter 4: ON PK Fc 2495 Hz Gain -4.1 dB Q 2.509
Filter 5: ON PK Fc 5600 Hz Gain -3 dB Q 2.414
Filter 6: ON HSC Fc 6000 Hz Gain 4.57 dB Q 0.7
@smj-edison
smj-edison / Cargo.toml
Last active November 9, 2023 00:04
Fix filename
[package]
name = "api-test"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
allocator-api2 = "0.2.15"
buddy_system_allocator = "0.9.0"
@smj-edison
smj-edison / main.rs
Created September 11, 2023 00:24
Audio processing with GhostCell
use std::{sync::mpsc, thread};
use ghost_cell::{GhostBorrow, GhostCell, GhostToken};
fn main() {
let buffer_size = 2;
let (to_engine, from_main) = mpsc::channel::<Vec<f32>>();
let (to_main, from_engine) = mpsc::channel::<Vec<f32>>();
14:20:02.541 | WARN | main_thread | MasterScore | rebuildExcerptsMidiMapping: rebuildExcerptsMidiMapping: no part in master score is linked with Flute 2
14:20:02.541 | WARN | main_thread | MasterScore | rebuildExcerptsMidiMapping: rebuildExcerptsMidiMapping: no part in master score is linked with Clarinet in B♭ 1
14:20:02.544 | DEBUG | main_thread | Segment | checkElement: add(TimeSig): there is already a TimeSig at track 12 tick 0
14:20:02.545 | DEBUG | main_thread | Segment | checkElement: add(Chord): there is already a Rest at track 12 tick 0
14:20:02.547 | DEBUG | main_thread | Segment | checkElement: add(Chord): there is already a Rest at track 12 tick 1920
14:20:02.547 | DEBUG | main_thread | Segment | checkElement: add(Chord): there is already a Rest at track 12 tick 3840
14:20:02.547 | DEBUG | main_thread | Segment | checkElement: add(Chord): there is already a Rest at track 12 tick 5760
14:20:02.547 | DEBUG | main_thread | Segment | checkElement: add(Chord): there is already a Res
Feb 08 16:06:42 mason-laptop kernel: microcode: microcode updated early to revision 0x424, date = 2022-09-19
Feb 08 16:06:42 mason-laptop kernel: Linux version 6.1.9-arch1-2 (linux@archlinux) (gcc (GCC) 12.2.1 20230201, GNU ld (GNU Binutils) 2.40) #1 SMP PREEMPT_DYNAMIC Fri, 03 Feb 2023 18:49:53 +0000
Feb 08 16:06:42 mason-laptop kernel: Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=********-****-****-****-************ rw rootflags=subvol=@ loglevel=3 quiet pcie_aspm=off mem_sleep_default=deep nvme.noacpi=1
Feb 08 16:06:42 mason-laptop kernel: x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks
Feb 08 16:06:42 mason-laptop kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Feb 08 16:06:42 mason-laptop kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Feb 08 16:06:42 mason-laptop kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Feb 08 16:06:42 mason-laptop kernel: x86/fpu: Supporting XSAVE
@smj-edison
smj-edison / stl-loader.js
Created December 11, 2018 21:06
A simple stl loader to convert to a ascii format
//load files and parse libraries
var fs = require('fs');
var stl = require('stl');
//load stl file
var facets = stl.toObject(fs.readFileSync('leafer-thingie.stl'));
//round points to minimize usage
function myRound(num) {
return Math.round(num * 1000) / 1000;