Hi everyone,today i want to share a little project of mine with you (For christmas? No, thats just since i have time now )
Im talking about the osuBeatmapGrabber.
Currently it is just a beta version, but it works for now
What does it do?
- Scan your osu! songs library for all beatmaps
- filter out double songs
- export the mp3's in a seperate directory tagget by Interpret, Title, Album (osu!) and set the beatmap background as album sample image
Just run the executable, wait a bit and you have all your songs ready for your music player or phone (or tablet, or mp3 player... whatever).
- Download the ZIP-Archive from link above
- Extract where ever you want
- Run "Osu Beatmap Grabber.exe"
- The installer will download the newest version to your AppData directory with the updater itself. Also it will create a ShortCut on your Desktop (only if not runned from target directory - so you can delete the Shortcut)
- The installer starts the application automatically and close itself.
- You can delete the extracted files and the archive - All files are stored in your AppData directory!
Planned Local Features
- Analize users osu! directory for beatmaps
- Statistics for this beatmaps (local - how many songs, how many diffs, how many images, used disk space, how many maps without bg and and and...)
- DONE! Export: Grab all MP3's, pack into one directory and set tags - perfect for exporting your song collection to mobile devices (beta feature, see above)
- Sync Export: See Export, but here the main issue is to hold the export up to date with new songs
- Add own filters and rules (Some songs you dont want on your phone? Or an interpret is written two times different? You prefer TV Size to full size?
Planned Server Features
- All found beatmap IDs send to a global server
- The server will catch all available song informations (via osu API)
- Build your local beatmap info DB
- Comment Beatmaps and discuss about it (The beatmap threads mostly get forgotten sometime)
- Search Beatmaps
- Download Beatmaps (like osu!direct) with many filtering options
- Download beatmaps you dont have automatically (Not at once, this would produce too much server load ) - just wait and you get map for map...
- Sync your songs with own mobile devices (Own Server Required to install the API and store the files!)
- + 2016-01-15: User registration for limitted features (Marked colorized)
- + 2016-01-15: Sync your Collections between osu! instances
- + 2016-01-15: Store a list of your local beatmaps on server
- + 2016-01-15: Sync your beatmaps between osu! instances (Limitted to downloadable maps)
- + 2016-01-15: Priorize the download of beatmaps, e.g. Most played, Newest Added, all Maps from user x (If the user share his maps collection!)
I'm looking for translators in different languages and one or two guys who will help developing the whole system.
With four different Servers and two different clients we have a bunch of work - your invited to help us out!
- (2015-12-24) V0.1: Export Maps (local)
- (2016-01-16) V0.2: Download and Update automatically
- (2016-05-14) V0.4: Avoid album titles if you dont want, select your own target directory.
- (2019-02-13) V0.5.1: Avoid songs from deleted beatmaps getting purged away.
Contribute or report Bugs and Feature Suggestions
You can help us to improve the whole Software now!
For this just access our Ticket-System - here you will se the tickets and what we're working on. Also you can see the upcoming updates and when they comes. With a free account you can add Issues or just Ideas for the future of the software.
Also you will be able to see the Guys working on this
Explore The Sourcecode on GitHub
You can view the sourcecode here!
See all my projects on GitHub
App.exe Main Application
Newtonsoft.Json.dll Internally and for communication the JSON file format is used. Classlibrary for JSON parsing
osbg.ico The icon file for the shortcut
Osu Beatmap Grabber.exe The Auto-Updater and STUB application
taglib-sharp.dll Class-Library for media file tagging
View and add #tickets at https://tracker.kagu-chan.de/projects/osu-beatmap-grabber
+ [ADD] Add a beta release stream (available at http://sources.kagu-chan.de/?p=osbg_install_beta¤t=1)
+ [ADD] Add the CHANGELOG and a FILELIST to the installation directory
+ [ADD] Add the tiny sweet application icon to the application
+ [ADD] Added option to keep songs from already deleted maps
+ [UPD] Rephrased texts
+ [FIX] The client itself if now stated as "Osu Beatmap Grabber" instead of "OsuSongGrabber" in process list
+ [UPD] [Updater] Make updater closable and minimizable
+ [UPD] [Updater] Lot of code clean up
+ [FIX] [Updater] The version number is now part of the assembly, not just a naming reference in threads
+ [FIX] [Updater] The updater itself if now stated as "kcUpdate" instead of "Osu Beatmap Grabber" in process list
+ [ADD] [Project] Resurrected the project - it's not forgotten and still alive
+ [ADD] [Project] Project moved to a private gitlab instance - a mirror to github will follow
+ [FIX] #73: Fix AccessViolationException in appdata - now user can select target directory
+ [FIX] #74: Fix crash if osu! directory not found - user input if not found
+ [FIX] #77: Fix crash if osu! config not found - user input if not found
+ [UPD] #78: Run Update-Actions before any other action happens
+ [ADD] #88: Added ablility to disable Album
+ [UPD] #89: Set Album Interpret to make correct sort on smartphones possible
+ [UPD] #90: Title Info improved - now more details
+ [UPD] #92: Better filter for songs and TV sizes
+ [FIX] #93: Fix OutOfMemory Exception
+ [ADD] Display errors, but dont stop working
+ [ADD] Added message for UI release plans
+ [UPD] #84: [Updater] Get rid of kcUpdater.dll
+ [FIX] #85: [Updater] Fix thread lock bug
+ [FIX] Prevent application crash due to long filenames
+ [FIX] Prevent application crash due to corrupt registry values - it will ask for your osu directory in case of error (workaround solution)
+ [UPD] Fix Sleep-Times (Small timeouts)
+ [ADD] Application rename updatable files - this is required to update the updater itself
+ [ADD] [UpdateServer] Serve files in subdirectories
+ [ADD] [Updater] Download directories if required
+ [UPD] [Updater] Change Working Directory (Some Apps dont start if you are not in starting directory)
+ [FIX] [Updater] Fixed default configuration
+ [UPD] [Updater] Changed release stream
+ [ADD] Added AutoUpdater executable
+ [ADD] Added SourceCode to GitHub
+ [ADD] Implemented the first version of the Update Server