forum

Song extractor

posted
Total Posts
37
Topic Starter
EnanoFurtivo

Current version: 3.0 (complete recode)

Hello to anyone reading this, i hope you are having a nice day!! :D

Shortest possible description for this app is, this app just copies osu! mp3's songs into a folder

A bit more detailed description

  1. This app is meant to allow you, to listen to your music from your osu! installation, within a standard media player app ex. VLC, Groove, and even on your phone!! Via copying the audio files within a map into a folder of your choice.


Some of the key features

  1. You can select to export a collection made in osu!, or your complete library if you wish to!
  2. It can fix mp3 tags, and also it can export your songs with the same background you see in osu!, so you dont have to see something like this in your media player:




Some features no one really cares about

  1. It is portable (As long as you have .NET installed, wich you probably have anyways).
  2. It is lightweight.
  3. And there really isn't much more to it really.


Some final developer notes

  1. I'm currently studying for a computer systems degree, so expect no more than that out of this program, although i think i've done a pretty good job at rewriting this app from scratch.
  2. I'm completely open for suggestions, although it might take a while for me to try to implement them or even check them, depending on if i have uni work to do or not.
  3. I do take this project as a learning experience, since i haven't really had any object oriented programing yet. So any objective critics or advice is hugely appreciated (code wise).





The way it works is very simple, here is the explanation

SPOILER
  1. You will be prompted with this screen on first start up, all you have to do now is select your folder where osu! is installed on, and the folder where your exported songs will be copied.


  2. After that all you have left to do is select the mode you want to export as (Collection or complete library) and hit export! That's it, it really is that simple.

  3. Now you could fiddle arround with the extra configurations, although I recommend to just leave them the way they are by default, more info on these in "Information about extra options".

Some notes about the internal management of the program

Exporting complete library
Since you could add 100 difficulties of the same mapset in a single collection, when extracting the complete library, only the last difficulty will be chosen for the extract, unfortunately there is no way arround this. What you should do instead, is make for example a music collection in osu, and save only the difficulties you want to extract per mapset (they can be more than one)!!


Exporting a collection
When extracting a collection the program will export all difficulties per mapset in that collection, not only the last one!! This is done this way because there could be mapsets with difficulties that have different audio files. Be careful with saving entire mapsets on your collection, you could end up with repeated audio files!!


Whats an mp3 tag?
This concept is very important to understand if you want to change the extra settings that are present on the app. Basically an mp3 tag is a piece of information about a given audio file that is present within itself.
For example: your file could be named songA.mp3 but if it's title tag is set to songB, then in media apps it would show songB as title.


Information about extra options
This might be a bit overwhelming at first but this settings are really not that hard to understand (I recommend to read "Whats an mp3 tag?" first)

  1. Overwrite Title/Artist: This setting will write the specified tag only if the original mp3 file didn't contain any.
  2. Force Title/Artist: This setting will overwrite the specified tag in ALL cases (Recomended)
  3. Overwrite Album: If selected the program will set the album tag of the exported mp3's to the exported collection's name (Or "Complete library" if that's the case), only if the original mp3 didn't contain said tag. (Recomended)
  4. Force Album: This option will set the Album to the collection's name or "Complete library" in all cases.
  5. Overwrite Thumbnail: If you select to overwrite only the program will try to extract the background from the osu! map and embed it as a cover to the mp3, if it fails to do that (maybe the background was missing) it will use a default image (more info on "Adding a custom default image") (Recomended)
  6. Force Thumbnail: This option will force the default image on all exports. (Recomended for big extractions)



Adding a custom default image
You can add a custom default image by placing an image called defaultimage.jpg on the app's folder (as shown below), if not then the default one will be used!!

KetKatto
I don't know why no one noticed this program but its a good thing I found it and from the very bottom of my heart, thank you. Although, a "Select All" option would be nice so I don't have to click on each map I want to export into an mp3. Anyway, good job!
Founntain

JustLight12 wrote:

Although, a "Select All" option would be nice so I don't have to click on each map I want to export into an mp3. Anyway, good job!


This
Topic Starter
EnanoFurtivo

JustLight12 wrote:

I don't know why no one noticed this program but its a good thing I found it and from the very bottom of my heart, thank you. Although, a "Select All" option would be nice so I don't have to click on each map I want to export into an mp3. Anyway, good job!

- Founntain - wrote:

This


I Finally got to it and recoded the entire project from 0 fixing a lot of issues like the lag caused by all the thumbnails loading on stratup and added your suggestion. Thanks for the feedback :)
RockRoller

It doesn't work for me, what did I wrong? Or does it have a problem with osu not being on C: ?
Endaris
I believe the root folder of osu! is called osu! always, not osu.
Not sure if you renamed it but that might be the problem.
Topic Starter
EnanoFurtivo

RockRoller wrote:


It doesn't work for me, what did I wrong? Or does it have a problem with osu not being on C: ?

Endaris wrote:

I believe the root folder of osu! is called osu! always, not osu.
Not sure if you renamed it but that might be the problem.


Yes thats the problem indeed (the one Endaris mentioned). I made it so there cannot be any problems with people selecting wrong paths that are not automatically made by osu!. So that the program wont crash at random.

Try renaming the folder back to osu!
This is what it should look like:

in your case it should be D:\osu!\Songs

Let me know if it works.

:)
RockRoller
its /osu/songs in my case. I not gonna change it to /osu!/songs because that will probably fuck some other things up. If I would be you I wouldn't limit it to /osu!, as you can, that can lead to problems for some endusers.
Topic Starter
EnanoFurtivo
Okay, ill release a patch in a sec with a fix for that. I honestly thought osu would create the folder as osu! always.
RockRoller

EnanoFurtivo wrote:

I honestly thought osu would create the folder as osu! always.
I think it does, but some people like to rename their stuff.
Topic Starter
EnanoFurtivo
UPDATE TO V2.2

Okay Ive updated the release 2.2 with a patch on the regular expresion that handled that part. It should now work for folders not called osu! exactly. Still the songs folder that is inside has to be called "/Songs". Thought i think that one cannot be changed the name of or something could break osu wise.
Yoharo
maybe if you add sorting feature that would be nice. like sort by artist, title, length, etc.
Topic Starter
EnanoFurtivo

Yoharo wrote:

maybe if you add sorting feature that would be nice. like sort by artist, title, length, etc.


Umm... thats already a feature. Let me know if thats not in yours but im pretty sure it has been
there since the very beggining.

As for the length filter i guess i could add it, it should be pretty easy, but i dont really see a use for it. If you can tell me why you want that feature then i might add it.

RockRoller
Do you thought about adding a keyboard shortcut that you can press while being in osu, so that the programm extracts the music in the bg? I think I saw smt like that once, would be really nice to automate things even further.
Topic Starter
EnanoFurtivo

RockRoller wrote:

Do you thought about adding a keyboard shortcut that you can press while being in osu, so that the programm extracts the music in the bg? I think I saw smt like that once, would be really nice to automate things even further.
Actually you are indeed right that would be an awesome feature. I have to think the way to make it work with C#. I think the best way to interact with osu! in that sense is using the MSN Live thing (the one StreamCompanion uses). Instead of making a shortcut directly from C# (kind of how AutoHotkey works).

Ill look into it today and maybe tomorrow. Hope i can make it work.

:)
RockRoller
I noticed the only way to remove a single song from the extract list is to search for the song again and then you get the remove button under the song info. How about adding a button above the extract list that allows you to remove single songs from the list?
Topic Starter
EnanoFurtivo

RockRoller wrote:

I noticed the only way to remove a single song from the extract list is to search for the song again and then you get the remove button under the song info. How about adding a button above the extract list that allows you to remove single songs from the list?


I dont get why to add a separate button to deselect a song from the list. Maybe you ment like have a button to deselect the map directly from the list without having to search for the song again?
Yoharo

EnanoFurtivo wrote:

Yoharo wrote:

maybe if you add sorting feature that would be nice. like sort by artist, title, length, etc.


Umm... thats already a feature. Let me know if thats not in yours but im pretty sure it has been
there since the very beggining.

As for the length filter i guess i could add it, it should be pretty easy, but i dont really see a use for it. If you can tell me why you want that feature then i might add it.


Sometime i forgot the name song so i look for the alphabet
Topic Starter
EnanoFurtivo
UPDATE TO V2.3

  1. Now the lists are by default sorted alphabetically so you can find songs more easily.
  2. Now you can use the arrow keys and the Enter key to select\deselect maps and to scroll throughout the both lists.
  3. Now Maps can be deselected from the "Already selected list" so that you don't have to search them manually.
  4. Now file naming is fixed, the file wont be called [1- audio.mp3] rather [mapname - artist.mp3] and in case of a repeated one it would be [mapname - artist (1).mp3]
Yoharo
Could you save the queue list so that when i get few new beatmap i know which is already selected. And could you remove the number when the songs extracted because its kinda useless to have it.
show more
Please sign in to reply.

New reply