This guide details the procedures for extracting raw event parameters from your project and defines each data column using official Apple interface specifications.
To copy MIDI events as tab-delimited text from your project (GarageBand):
| @echo off | |
| :: Ensure admin rights | |
| NET SESSION >nul 2>&1 | |
| IF %ERRORLEVEL% NEQ 0 ( | |
| echo [ERROR] This script must be run as an ADMINISTRATOR. | |
| echo Please right-click this batch file and select "Run as Administrator". | |
| pause | |
| exit /b | |
| ) |
| // Javascript | |
| // Color from a web-style hex string -- for named colors, see https://gist.github.com/akingdom/0a0edd3ea37a9a331983cff3a69c4bee | |
| // By Andrew Kingdom | |
| // MIT license (use free and do not remove this author's name, etc) | |
| // | |
| // **Supported string formats**: | |
| // - `"fff" // RGB` | |
| // - `"#fff" // #RGB` | |
| // - `"ffff" // RGBA` | |
| // - `"#ffff" // #RGBA` |
This guide details the procedures for extracting raw event parameters from your project and defines each data column using official Apple interface specifications.
To copy MIDI events as tab-delimited text from your project (GarageBand):
Author: Andrew Kingdom Note: These are grep patterns I find useful for the BBEdit text editor on MacOS. Some templates may need modification/changes before use on your specific data.
Remove Blank Lines
^\s*$\nPascal Comment to C Comment
Find: {([^}]*)}
| //application/javascript | |
| // | |
| // Demonstrates callback from a class method | |
| // By Andrew Kingdom | |
| // MIT license | |
| // Define a class | |
| let MyClass1 = class { | |
| constructor(initialValue) { | |
| this.prop = initialValue; // store the parameter value in a property |
| // Returns the minimum download limit specified in the current php.ini file. | |
| // | |
| // By Andrew Kingdom | |
| // MIT license | |
| function max_upload_size() { | |
| $max_size = PHP_INT_MAX; | |
| $post_overhead = 2048; // Reserve 2k for non-file data in the POST. | |
| $tmp = shorthand_bytes(ini_get('upload_max_filesize')); |
| <?php | |
| // An example of receiving file(s) POSTed by an HTML web form (PHP language) | |
| // | |
| // Please add any necessary path and file handling, security, etc. that you require. | |
| // | |
| // By Andrew Kingdom | |
| // MIT license | |
| // | |
The Line Record Format (LRF) is a human-friendly, line-oriented data format designed for simplicity of both human editing and machine parsing. Every LRF document is also a valid Markdown document, making it suitable for embedding structured data in plain-text documentation.
Main Article (Author: Greg Turk)
Clarifications (Author: Andrew Kingdom)
| // pathGetter.js - MIT License (C) 2025 Andrew Kingdom | |
| /** | |
| * createPathGetter | |
| * ---------------- | |
| * Returns a high-performance, hybrid property accessor for dot-delimited paths. | |
| * | |
| * DESIGN: | |
| * - Cold paths (below `threshold` calls) use a manual string parse to avoid `.split()` allocations. | |
| * - Hot paths (≥ `threshold` calls) are promoted to precompiled accessors and cached for speed. | |
| * - Cache is capped (`maxCacheSize`) and evicts oldest hot paths (FIFO) to control memory growth. |