Writing a Screencast Video Editor in Haskell
summary
Komposition is a Haskell desktop editor that successfully edits screencasts by combining automatic scene classification (moving vs still frames) and auto-splitting audio via sox, producing a hierarchical timeline of parallels and sequences with a vim‑like, keyboard-driven workflow. Implementation uses GTK through a GI GDK declarative layer, pipes and massive for streaming, property tests with Hedgehog, and renders via an FFmpeg command built from a typed ffmpeg filter graph. It runs cross‑platform but has preview and performance quirks on macOS.
AI-written summary · about
chapters (18)
- 0:00Start
- 0:59HASKELL AT WORK
- 2:56VIDEO EDITORS
- 4:32BUILDING A VIDEO EDITOR
- 5:34KOMPOSITION OVERVIEW
- 6:50DOCUMENTATION
- 7:36KEYBOARD-DRIVEN EDITING
- 8:51ADDING CAPS
- 9:11SEQUENCES
- 19:53TYPE-INDEXED STATE MACHINES
- 21:49SINGLETON PATTERN
- 22:30USING SINGLETONS
- 23:34AUTOMATIC SCENE CLASSIFICATION
- 25:11AUTOMATIC SENTENCE CLASSIFICATION
- 26:18RENDERING
- 29:49PROPERTY-BASED TESTING
- 31:29EXAMPLE-BASED TESTING
- 33:44RETROSPECTIVE
related talks
01h 01mMacGyver's Haskell Compiler
44mHaskell DJs: Compose a Hit with Vinyl!
01h 06mTransient: Unrestricted Algebraic and Monadic Composability
54mHaskell Project Showcase and Community Contributions
31mFunctional Shell and Reusable Components for Easy GUIs
46mPainless software development with Haskell
01h 02mThe Power of Composition
20mInteractive Haskell Type Inference Exploration (Extended Abstract)
