Skip to content

Instantly share code, notes, and snippets.

View g-l-i-t-c-h-o-r-s-e's full-sized avatar
👽
ayy lmao

🦄 g-l-i-t-c-h-o-r-s-e

👽
ayy lmao
View GitHub Profile
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / ISFRendererPlugIn.h
Last active November 27, 2025 05:01
Revised ISF Fragment Shader Plugin for Quartz Composer
//
// ISFRendererPlugIn.h
// Quartz Composer ISF Renderer
//
#import <Quartz/Quartz.h>
@interface ISFRendererPlugIn : QCPlugIn
{
@private
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / ISFInputMapperPlugIn.h
Last active November 27, 2025 08:25
Helper Plugin for ISF Renderer Quartz Composer Plugin
//
// ISFInputMapperPlugIn.h
// ISF Input Mapper
//
#import <Quartz/Quartz.h>
@interface ISFInputMapperPlugIn : QCPlugIn
// ISF path input
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / BasicExternalWindowController.h
Last active November 27, 2025 05:03
Test External Window in QC Plugin
//
// BasicExternalWindowPlugIn.h
// BasicExternalWindow
//
#import <Quartz/Quartz.h>
@interface BasicExternalWindowPlugIn : QCPlugIn
{
double _tick;
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / FFExportPlugIn.m
Created November 24, 2025 19:26
Export QC Image as Video with FFmpeg in Quartz Composer
// FFExportPlugIn.m — FFmpeg video exporter for Quartz Composer (Mojave/ARC, 64-bit)
// Inputs:
// Image (image)
// Output Path (string)
// Record (bool toggle; start/stop & finalize)
// Pause (bool toggle; pause encoding, keep file open)
// Duration (sec) (number; 0 = unlimited, counts encoded time only)
// FPS (number; default 30)
// Codec Options (string; e.g. "-c:v libx264 -g 120 -bf 3 -s 1280x720 -preset veryfast -crf 18")
//
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / FFExportScenePlugIn.m
Last active November 25, 2025 02:48
Export GL Scene as Video with FFmpeg in Quartz Composer
// FFExportScenePlugIn.m — FFmpeg OpenGL scene exporter (CONSUMER) for Quartz Composer (Mojave/ARC, 64-bit)
// VERSION: Direct glReadPixels from QC's OpenGL context, SyphonServer-style viewport usage,
// with selectable PTS: either frame-count-based (offline-style) or QC-time-based.
// Vertical flip is done on the encode queue, not on the QC thread.
//
// Place this patch in the top layer; it captures the rendered OpenGL scene below it.
//
// Inputs:
// Output Path (string)
// • If this is a directory (e.g. "/Users/blah/Desktop/" or "/Users/blah/Desktop"),
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / TapBeatPlugIn.h
Last active November 23, 2025 10:16
Quartz Composer Beat Tapper with LFO, Beat and Pulse (and Optional BPM Alignment)
#import <Quartz/Quartz.h>
@interface TapBeatPlugIn : QCPlugIn
{
BOOL _lastTapValue;
NSTimeInterval _tapStartTime;
NSTimeInterval _beatInterval;
NSTimeInterval _phaseBaseTime;
NSInteger _lastCycleIndex;
}
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / DiscordRPCPlugIn.h
Last active November 23, 2025 09:39
Quartz Composer Discord 0.0.297 RPC Plugin (MacOS Mojave) | sudo port install discord-rpc
// DiscordRPCPlugIn.h
// Quartz Composer plug-in for Discord Rich Presence
#import <Quartz/Quartz.h>
@interface DiscordRPCPlugIn : QCPlugIn
// ---- Control / config ----
// If YES (default), read values from config file first, then fall back to QC ports.
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / LaunchPadMIDIControlPlugIn.h
Last active November 23, 2025 09:38
Launchpad MIDI Input (with Light Control) in Quartz Composer
// LaunchPadMIDIControlPlugIn.h
#import <Quartz/Quartz.h>
#import <CoreMIDI/CoreMIDI.h>
#import <Foundation/Foundation.h>
#import <stdint.h>
@interface LaunchPadMIDIControlPlugIn : QCPlugIn
{
MIDIClientRef _client;
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / ISFRendererPlugInViewController.h
Last active November 23, 2025 10:20
Render ISF Fragment Shaders as an Image in Quartz Composer
// ISFRendererPlugInViewController.h
// Simple Settings-tab UI for ISFRendererPlugIn:
// - Label "ISF Path:"
// - Text field for the path
// - "Choose…" button to pick a file
#import <Quartz/Quartz.h>
#import <AppKit/AppKit.h>
@interface ISFRendererPlugInViewController : QCPlugInViewController
@g-l-i-t-c-h-o-r-s-e
g-l-i-t-c-h-o-r-s-e / AVFVideoInputPlugIn.m
Last active November 30, 2025 22:31
AVFoundation Video Input Quartz Composer Plugin with Device Resolution/Framerate Support, Autozoom Toggle, Etc
// AVFVideoInputPlugIn.m
// Quartz Composer AVFoundation video input with selectable resolution / fps,
// plus basic camera controls for focus / exposure / white balance modes.
//
// Inputs:
// - inputModeIndex (Index): capture format / fps mode
// - inputDisableAutoFocus (Boolean): YES = force focus locked
// - inputLockExposure (Boolean): YES = lock exposure
// - inputLockWhiteBalance (Boolean): YES = lock white balance
//