Band Song Manager
WordPress plugin for managing band song catalogs
by MadWonko · github.com/madwonko/band-song-manager · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/madwonko/band-song-manager/archive/refs/heads/main.zipBand Song Manager - Merged Version 2.0
A comprehensive WordPress plugin combining the best features from both previous versions for complete band song catalog management.
What's New in Version 2.0 (Merged)
This version combines ALL features from both previous plugins:
From Original Version:
- ✅ Year of Publication field
- ✅ Original Recording URL
- ✅ Rehearsal Recording URL
- ✅ Tabs/Charts/Notes field
- ✅ Pedalboard/Gear Notes field
- ✅ Improved ChordPro rendering (chords above lyrics)
- ✅ Collapsible sections for tabs and gear
- ✅ Better template system
From Other Version:
- ✅ Taxonomies (Genre, Mood, Difficulty, Tags)
- ✅ Performance tracking (dates and venues)
- ✅ Key, Tempo, Duration fields
- ✅ Original Artist field (separate from composer)
- ✅ Better post type naming (
bsm_songprefix)
New Unified Features:
- ✅ All fields from both versions in one plugin
- ✅ Enhanced import supporting all field types
- ✅ Unified display with all information
- ✅ Professional admin interface
Complete Feature List
Song Information Fields:
- Title (post title)
- Main Content (lyrics/description)
- Artist / Composer
- Original Artist (for covers)
- Year of Publication
- Key
- Tempo (BPM)
- Duration
- Original Recording URL
- Rehearsal Recording URL
- Tabs/Charts/Notes
- Pedalboard/Gear Notes
- ChordPro Chart
Organization:
- Genres (hierarchical taxonomy)
- Moods (tags)
- Difficulty levels
- Custom Tags
Performance Tracking:
- Log performance dates
- Track venues
- View performance history
ChordPro Features:
- Import .cho, .chopro, .txt, .pro files
- Single or bulk import (up to 20 files)
- Automatic metadata extraction
- Beautiful chord chart rendering
- Chords positioned above lyrics
- Collapsible chart display
Installation
- Download the plugin ZIP file
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Choose the ZIP file and click "Install Now"
- Activate the plugin
- Go to Settings → Permalinks and click "Save Changes" to flush rewrite rules
Usage
Creating Songs
Manual Creation:
- Go to Band Songs → Add New
- Enter song title
- Add lyrics/description in main editor
- Fill in all fields in "Song Details" meta box
- Add genres, moods, difficulty in sidebar
- Track performances in "Performance Tracking" box
- Publish or save as draft
Import from ChordPro:
- Go to Band Songs → Import ChordPro
- Choose single or bulk import
- Select your .cho files
- Click import
- Edit imported songs to add URLs, tabs, gear notes
Displaying Songs
Full Song Details:
[song_details id="123"]
Shows everything: lyrics, all fields, collapsible sections, ChordPro chart
ChordPro Chart Only:
[song_chordpro id="123"]
Shows just the chord chart with view/hide button
In Theme Template:
<?php display_song_details(); ?>
ChordPro Format
Example file structure:
{title: 25 or 6 to 4}
{artist: Chicago}
{year: 1970}
{key: Am}
{tempo: 120}
[Am]Waiting for the break of day
[G]Searching for something to say
[F]Flashing lights against the sky
[Am]Giving up I close my eyes
Import will extract:
- Title → Post title
- Artist → Artist/Composer field
- Year → Year field
- Key → Key field
- Tempo → Tempo field
- Lyrics (without chords) → Main content
- Full ChordPro → ChordPro Chart field
Post Type & Meta Keys
Post Type: bsm_song
Meta Keys:
_bsm_artist- Artist/Composer_bsm_original_artist- Original Artist_bsm_year- Year_bsm_key- Key_bsm_tempo- Tempo (BPM)_bsm_duration- Duration_bsm_original_url- Original Recording URL_bsm_rehearsal_url- Rehearsal Recording URL_bsm_tabs_notes- Tabs/Charts/Notes_bsm_gear_notes- Gear Notes_bsm_chordpro- ChordPro Chart_bsm_performances- Performance array
Taxonomies:
bsm_genre- Genresbsm_mood- Moodsbsm_difficulty- Difficultybsm_tag- Tags
Upgrading from Previous Versions
From "song" Post Type Version:
IMPORTANT: The old version used song post type and this uses bsm_song. They are separate and won't conflict, but your data won't automatically transfer.
To migrate your data:
-
Install this merged version alongside the old one
-
Your old songs will still be accessible at Band Songs (old)
-
You can either:
- Option A: Manually recreate songs in the new version
- Option B: Export old songs as ChordPro and import into new version
- Option C: Keep both plugins active (they won't conflict)
-
Once satisfied with new version, deactivate old plugin
Note: Post URLs will change from /song/title/ to /song/title/ (same slug, different post type)
File Structure
band-song-manager/
├── band-song-manager.php (Main plugin)
├── css/
│ ├── song-style.css (Frontend styles)
│ └── admin-style.css (Admin styles)
├── js/
│ └── song-script.js (JavaScript)
├── templates/
│ └── single-song.php (Song template)
└── README.md (This file)
Support
For questions or issues, check:
- Song ID display in admin for shortcode usage
- Permalinks settings if song pages show 404
- Clear cache after updates
Changelog
Version 2.0.0 (Merged Edition)
- Merged all features from both versions
- Added performance tracking
- Added taxonomies (Genre, Mood, Difficulty, Tags)
- Added Key, Tempo, Duration, Original Artist fields
- Improved ChordPro import with more metadata extraction
- Better post type naming with
bsm_prefix - Enhanced admin interface
- Professional frontend display
Version 1.0.0 (Original Versions)
- Initial releases of both versions
License
GPL v2 or later