Fbrowser/readme.md

4.1 KiB

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
  • ifireflylib (Database System)

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 ifireflylib

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!