James Munns (Twitter Archive)
bitshiftmask.bsky.social
James Munns (Twitter Archive)
@bitshiftmask.bsky.social
A twitter archive of @bitshiftmask

Owned by @jamesmunns.com on bluesky
Thanks to @tweedegolfbv for sponsoring the first episode!
November 3, 2024 at 11:06 PM
We are living in a golden age of case studies, if nothing else.
November 3, 2024 at 10:49 PM
James Munns on cohost
Moving up in the world, now I can encode "Mary had a little lamb". Code for this is below the fold. ---------------------------------------- use mididemo::bar_to_midi; use minijam::scale::Pitch; use thursday::{Length, bars::BarBuf}; fn main() { // Input notation let mary = [ (Length::Quarter, Some((Pitch::E, 4))), // Ma (Length::Quarter, Some((Pitch::D, 4))), // ry (Length::Quarter, Some((Pitch::C, 4))), // had (Length::Quarter, Some((Pitch::D, 4))), // a (Length::Quarter, Some((Pitch::E, 4))), // lit (Length::Quarter, Some((Pitch::E, 4))), // tle (Length::Quarter, Some((Pitch::E, 4))), // lamb (Length::Quarter, None), // (Length::Quarter, Some((Pitch::D, 4))), // lit (Length::Quarter, Some((Pitch::D, 4))), // tle (Length::Quarter, Some((Pitch::D, 4))), // lamb (Length::Quarter, None), // (Length::Quarter, Some((Pitch::E, 4))), // lit (Length::Quarter, Some((Pitch::E, 4))), // tle (Length::Quarter, Some((Pitch::E, 4))), // lamb (Length::Quarter, None), // (Length::Quarter, Some((Pitch::E, 4))), // Ma (Length::Quarter, Some((Pitch::D, 4))), // ry (Length::Quarter, Some((Pitch::C, 4))), // had (Length::Quarter, Some((Pitch::D, 4))), // a (Length::Quarter, Some((Pitch::E, 4))), // lit (Length::Quarter, Some((Pitch::E, 4))), // tle (Length::Quarter, Some((Pitch::E, 4))), // lamb (Length::Quarter, Some((Pitch::E, 4))), // its (Length::Quarter, Some((Pitch::D, 4))), // fleece (Length::Quarter, Some((Pitch::D, 4))), // was (Length::Quarter, Some((Pitch::E, 4))), // white (Length::Quarter, Some((Pitch::D, 4))), // as (Length::Half, Some((Pitch::C, 4))), // snow ]; // Load into a Bar Buffer let mut bbuf = BarBuf::new(); for (len, note) in mary { match note { Some((pitch, oct)) => bbuf.push_note_simple(len, pitch, oct).unwrap(), None => bbuf.push_rest_simple(len).unwrap(), } } // Write to midi file bar_to_midi(&bbuf, "mary.mid", 150, Some(1)).unwrap(); }
cohost.org
November 3, 2024 at 10:49 PM
Credit to @1lexxi for sharing this on cohost :D
November 3, 2024 at 10:49 PM
alt text (I guess I do have to explain it): someone has used a fourier series of rotating divs to simulate the HTML marquee element. In practice, this causes an eggbug to scroll from right to left (a little twitchy/bouncy), then the series swings it down and back right to reset)
November 6, 2024 at 1:03 AM