Fbrowser/readme.md
2025-04-06 20:00:26 -05:00

128 lines
3.7 KiB
Markdown

# 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
- **MIDI Player**: Full-featured MIDI player with playlist management
- **Metadata Extraction**: View and explore audio file metadata
- **Archive Management**: Extract ZIP, RAR, and 7z archives
- **Timer Utility**: Built-in countdown timer with audio alerts
- **Hover Tooltips**: Quick metadata preview by hovering over audio files
## Requirements
- Python 3.6+
- 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
```bash
git clone https://github.com/yourusername/fbroswer-master.git
cd fbroswer-master
```
### 2. Install dependencies
```bash
pip install pyqt6 fluidsynth-midi mido mutagen py7zr rarfile numpy sounddevice
```
### 3. Install FluidSynth
- **Windows**: Download from [FluidSynth website](https://www.fluidsynth.org/)
- **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
```bash
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!*