Skip to content

disuye/FFAB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FFAB Overview

FFAB is a cross-platform, complex audio batch processor, effects rack, command builder & graphical user interface for FFmpeg.

More info here: www.disuye.com/ffab

FFAB

Download & Install

Check Releases for the latest DMG/ZIP files:

  • macOS (Monterey+ Universal Binary) → FFAB.app
  • Linux (x86 / Arm / Ubuntu24 +) → FFAB.AppImage

Installation Issues

macOS

FFAB.app v1.0.3 is now notarized by Apple → No more Gatekeeper issues!

Older versions are not notarized by Apple and may be blocked by macOS Gatekeeper.

  • Monterey & Sonoma, right click FFAB.app, click Open, click Confirm
  • Sequoia & Tahoe run this Terminal command:
    xattr -cr /Applications/FFAB.app

Linux

Audio preview player may fail on some Linux versions.

  • This can be fixed with community help!
  • Launch FFAB.AppImage with this Terminal command:
    GST_PLUGIN_SYSTEM_PATH=​/usr/lib/$(uname -m)​-linux-gnu/gstreamer-1.0 ./FFAB*.AppImage

Build From Source

  • Developed on macOS Sequoia Silicon using Qt version 6.10.1
  • Run /scripts/dummyAGL.sh and FFAB can also build with Qt 6.7.3
  • Install brew install ninja
  • Run /scripts/ninja.sh for the debug version
  • Run /scripts/ninja-release.sh to build macOS Silicon & Universal
  • .github/workflows/build-ffab-linux.yml for Linux x86_64 & ARM64

Codebase v1.0.3

FFAB/
├── CMakeLists.txt
├── images/
│   ├── AppIcon.icns
│   ├── AppIcon.png
│   ├── fader-h.png
│   ├── fader-v.png
│   ├── log-bg-dark.png
│   ├── log-bg-light.png
│   ├── track-h.png
│   └── track-v.png
├── fonts/
│   └── FiraCode-VariableFont_wght.ttf
├── licenses/
│   ├── FFAB-license.txt
│   ├── FiraCode-OFL.txt
│   ├── GPLv3.txt
│   └── LGPLv3.txt
├── linux/
│   ├── ffab-512.png
│   └── ffab.desktop
└── src/
    ├── Core/
    │   ├── AppConfig.h
    │   ├── AudioFileScanner.h/cpp
    │   ├── BatchProcessor.h/cpp
    │   ├── CompandBandData.h
    │   ├── Connection.h
    │   ├── DAGCommandBuilder.h/cpp <- DAG-based FFmpeg command builder (v1.0)
    │   ├── FFmpegDetector.h/cpp
    │   ├── FFmpegRunner.h/cpp
    │   ├── FFmpegSyntax.h/cpp
    │   ├── FilterChain.h/cpp <- chain manager (routes through DAG) & old logic
    │   ├── FilterGraph.h/cpp
    │   ├── FilterNode.h
    │   ├── JobListBuilder.h/cpp
    │   ├── LogFileWriter.h/cpp
    │   ├── OperationPreview.h/cpp
    │   ├── Port.h
    │   ├── Preferences.h/cpp
    │   ├── PreviewGenerator.h/cpp
    │   └── UpdateChecker.h/cpp
    ├── FFmpeg/
    │   ├── FFmpegCommandBuilder.h/cpp
    │   └── FFmpegPresets.h/cpp
    ├── Filters/
    │   ├── AudioInputFilter.h/cpp
    │   ├── AuxOutputFilter.h/cpp
    │   ├── BaseFilter.h/cpp
    │   ├── ChannelEqFilter.h/cpp
    │   ├── CustomFFmpegFilter.h/cpp
    │   ├── InputFilter.h/cpp
    │   ├── MultiOutputFilter.h/cpp
    │   ├── OutputFilter.h/cpp
    │   ├── SmartAuxReturn.h/cpp
    │   └── ff-*.h/cpp  (118 FFmpeg filter wrappers)
    ├── UI/
    │   ├── AsplitRowWidget.h/cpp
    │   ├── BatchAdminPanel.h/cpp
    │   ├── BatchConfirmDialog.h/cpp
    │   ├── BatchSettingsWindow.h/cpp
    │   ├── ChannelEqWidget.h/cpp
    │   ├── CompandCurveWidget.h/cpp
    │   ├── CollapsibleHelpSection.h/cpp
    │   ├── CommandViewWindow.h/cpp
    │   ├── FFmpegSetupDialog.h/cpp
    │   ├── FileListWidget.h/cpp
    │   ├── FilterChainWidget.h/cpp
    │   ├── FilterMenuBuilder.h/cpp
    │   ├── FilterParamsPanel.h/cpp
    │   ├── InputBatchPanel.h/cpp
    │   ├── InputPanel.h/cpp
    │   ├── LogViewWindow.h/cpp
    │   ├── LogWidget.h/cpp
    │   ├── MainWindow.h/cpp
    │   ├── OutputPanel.h/cpp
    │   ├── OutputSettingsPanel.h/cpp
    │   ├── PresetManager.h/cpp
    │   ├── RegionPreviewWindow.h/cpp
    │   ├── RotatedLabel.h
    │   ├── SettingsDialog.h/cpp
    │   └── WaveformPreviewWidget.h/cpp
    ├── Utils/
    │   ├── FrequencySliderHelpers.h
    │   ├── KeyCommands.h
    │   ├── Logger.h/cpp
    │   ├── Metadata.h/cpp
    │   ├── PresetStorage.h/cpp
    │   ├── SnapSlider.h
    │   └── UnicodeSymbols.h
    └── main.cpp

Toolkit

  • VSCode
  • Claude Code
  • Affinity Designer
  • Affinity Photo
  • Qt
  • FFmpeg
  • ninja
  • png2icns

FFAB is FREE

FFAB is free / donationware, you can support this project by purchasing music from here:

About

FFAB is a cross-platform, complex audio batch processor, effects rack, command builder & graphical user interface for FFmpeg.

Topics

Resources

Stars

Watchers

Forks

Languages