Skip to content

disuye/FFAB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Development Update

Development paused on FFAB until the community starts hitting me with bugs or feature requests. The current version of FFAB works great for my personal requirements, but I'm happy to put in more work if folks want / need more. Cheers!

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.4

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

Contributors

Languages