Stan44 a69391b1d8 toggle logging added (--debug-on) to enable logging
minor bug fixes.
known stutter bug in database/meta systems
appears to be the delay in connecting to the database.

future work:
1. intergrate firefly.dll as server module.
2. ensure full database funcctionality.
3. add toggle to use database or not. (by default we check for firefly if we don't find we default to python systems. if found we automatically use firefly.(so maybe on toggles))
4. investigate and fix the stutter bug.
2025-04-11 23:59:50 -05:00
2025-04-06 20:00:26 -05:00
2025-04-08 00:24:26 -05:00
2025-04-06 20:00:26 -05:00
2025-04-06 20:00:26 -05:00

FBrowser - Enhanced File Browser with Audio Tools

A powerful file browser application with special focus on audio file handling, MIDI playback, and archive management.

Features

  • Advanced File Browser: Browse directories with tree view and file list
  • Audio Playback: Built-in player for various audio formats (Via Qt Media powered by ffmpeg)
  • MIDI Player: Full-featured MIDI player with playlist management (synthesis of midi's powered by fluidsynth)
  • Metadata Extraction: View and explore audio file metadata
  • Archive Management: Extract ZIP, RAR, and 7z archives # Not fully implemented no way to use this outside of a custom debugger tool. (not included)
  • Timer Utility: Built-in countdown timer with audio alerts
  • Hover Tooltips: Quick metadata preview by hovering over audio files

Requirements

  • Python 3.6+ (maybe 3.8 or newer)
  • PyQt6
  • FluidSynth (for MIDI playback)
  • Mido (MIDI handling library)
  • Mutagen (audio metadata extraction)
  • py7zr and rarfile (archive handling)
  • SoundFont (.sf2) files for MIDI playback

Installation

1. Clone the repository

git clone https://gitea.innovativedevsolutions.org/stan44/Fbrowser.git
cd fbroswer

2. Install dependencies

pip install pyqt6 fluidsynth-midi mido mutagen py7zr rarfile numpy sounddevice

3. Install FluidSynth

  • Windows: Download from FluidSynth website (you can also use choco chocolatey website)
  • Windows Choco: choco install fluidsynth
  • macOS: brew install fluid-synth
  • Linux: sudo apt-get install fluidsynth

4. Download a SoundFont

  • Download a .sf2 file (like FluidR3_GM.sf2)
  • Place it in a "SoundFonts" directory in the application folder

Usage

Starting the Application

python Fbrowser.py

Basic Navigation

  • Use the tree view on the left to navigate directories
  • Double-click files in the right panel to open/play them
  • Use address bar for direct navigation
  • Back/Forward/Up buttons for quick navigation

Audio and MIDI Playback

  • Double-click audio files to play them
  • Use media controls at the bottom for playback
  • Click "Open MidPlay" for advanced MIDI playback

Advanced Features

  • Right-click on files/folders for context menu options
  • Extract archives directly from the browser
  • Scan directories to find audio files
  • Extract and view metadata

Components Overview

Fbrowser.py

The main application file implementing the file browser interface with audio playback capabilities.

MidPlay.py

A specialized MIDI player with:

  • Playlist management
  • SoundFont selection
  • Volume control
  • Playback controls (play, pause, next, previous)

ScanOrg101.py

Handles file scanning, metadata extraction, and archive operations:

  • Recursive directory scanning
  • Audio metadata extraction using Mutagen
  • Archive extraction (ZIP, RAR, 7z)

timer_m.py

A countdown timer with:

  • Customizable hours, minutes, seconds
  • Audio alerts on completion
  • Start/stop/reset functionality

Customization

Changing Default SoundFont

The application will attempt to find a suitable SoundFont file automatically. If none is found, you'll be prompted to select one. You can change it anytime via the MidPlay interface.

File Type Filtering

Edit the allowed_extensions list in FileFilterProxyModel class in ScanOrg101.py to change which file types are displayed.

Troubleshooting

No Sound in MIDI Playback

  • Ensure FluidSynth is properly installed
  • Verify a valid SoundFont (.sf2) file is loaded
  • Check system audio settings

Archive Extraction Issues

  • Ensure you have proper permissions in the target directory
  • For RAR files, make sure UnRAR is installed on your system

License

MIT License

Credits

  • FluidSynth for MIDI synthesis
  • PyQt6 for the user interface
  • Mutagen for audio metadata handling
  • Stanton for Project fbrowser, Timer_m, and MidPlay the fbrowser is the foundation of this project.

Note: This project is under development. Feedback and contributions are welcome!

Description
Audio and related files for audio production browser with the ability to playback most audio formats and midi's using a custom built midi player.
Readme 687 KiB
Languages
Python 100%