Add CI
Daniel Firth authored
0001c874

dhall-ffmpeg

Dhall prelude for ffmpeg command line arguments.

Example

let Ffmpeg = https://gitlab.homotopic.tech/dhall/ffmpeg/-/raw/master/package.dhall

let Prelude = https://prelude.dhall-lang.org/package.dhall

let Filter = Ffmpeg.Filter

let myCompressor = Filter.ACompressor::{=}

let mySubcut = Filter.ASubcut::{cutoff=50.0}

let myMacro = [Filter.Type.acompressor myCompressor, Filter.Type.asubcut mySubcut]

let xs = Prelude.Natural.enumerate 29

let myFiles = Prelude.List.map Natural Text (\(x : Natural) -> "MyFile ${Prelude.Natural.show x}.mp3") xs

let myBatch = Prelude.List.map Text Ffmpeg.Top.Type (\(x : Text) -> { input = x, output = "tmp/${x}", audiofilter = myMacro }) myFiles

in Prelude.Text.concatSep "\n" (Prelude.List.map Ffmpeg.Top.Type Text Ffmpeg.Top.toText myBatch)

will produce

ffmpeg -i MyFile 0.mp3 -filter:a acompressor=attack=1.0:detection=peak:knee=2.82843:level_in=1.0:link=average:makeup=1.0:mix=1.0:mode=downward:ratio=2.0:release=250.0:threshold=0.125,asubcut=cutoff=50.0:level=1.0:order=10.0 tmp/MyFile 0.mp3
ffmpeg -i MyFile 1.mp3 -filter:a acompressor=attack=1.0:detection=peak:knee=2.82843:level_in=1.0:link=average:makeup=1.0:mix=1.0:mode=downward:ratio=2.0:release=250.0:threshold=0.125,asubcut=cutoff=50.0:level=1.0:order=10.0 tmp/MyFile 1.mp3
ffmpeg -i MyFile 2.mp3 -filter:a acompressor=attack=1.0:detection=peak:knee=2.82843:level_in=1.0:link=average:makeup=1.0:mix=1.0:mode=downward:ratio=2.0:release=250.0:threshold=0.125,asubcut=cutoff=50.0:level=1.0:order=10.0 tmp/MyFile 2.mp3
...