GithubHelp home page GithubHelp logo

songe-converter's Introduction

🎵 Songe Converter

Now deprecated!

⚠ DEPRECATION NOTICE ⚠

Songe Converter is now deprecated, it has been rendered obsolete by new mapping tools.
It has been over a year since this tool was needed. If you are making maps using the v1 format then that is your own fault for following outdated tutorials.

If you absolutely need to upgrade outdated maps, you will need to download and compile this tool yourself. Absolutely no support will be provided.

songe-converter's People

Contributors

luludotdev avatar

Stargazers

 avatar Ben Reynolds avatar  avatar Allen Roush  avatar Kot C avatar  avatar Justin Kaufman avatar  avatar David avatar  avatar Iqbal Rifai avatar David Ralph avatar Grim  avatar  avatar  avatar  avatar  avatar Tyler Norlund avatar  avatar Chris avatar Ryan Lauderbach avatar Grandin Cédric avatar Nate Peterson avatar Chris Celaya avatar  avatar Stefan Heinz avatar Nathan Broadbent avatar  avatar  avatar Shaun avatar  avatar  avatar Iván Núñez Paz avatar  avatar Mark Ignacio avatar Cameron Steele avatar Peter Ericson avatar RiX avatar Johan Lindell avatar St. Veit avatar  avatar John Monsen avatar  avatar Kevin Hammett avatar Bart Van Itterbeeck avatar fall simply avatar  avatar Raphaël Thériault avatar Alan Hardman avatar  avatar  avatar Javier Bórquez avatar

Watchers

James Cloos avatar  avatar Assistant avatar  avatar  avatar Brandon Williams avatar Kyle1413 avatar megalon avatar Grandin Cédric avatar

songe-converter's Issues

v2.1.0 converts song.ogg to song.egg

Hi!

I noticed after converting my entire library that all .ogg files are renamed to .egg files.
It didn't matter if I converted one at a time or all in one go, I now have egg-songs :D

Luckily I backed up my library, but it might be worth checking into.
It also renames the "_songFilename" to ****.egg

How to run on Linux

This is not a bug/issue but a question about how to compuile the source code in Linux. How to make it to use in Linux environment?

Simple converter fails silently if info file describes missing charts

Bug:
If simple-converter is given a folder containing all necessary files (info, chart files, song, etc.) EXCEPT for at least one missing chart file that is referenced in info.json, it will fail silently.

That is, say you have the following defined in info.json:

{
    //...,
    "difficultyLevels": [
        {
            "difficulty": "Easy",
            "jsonPath": "Easy.json",
           //...
        },
        {
            "difficulty": "Normal",
            "jsonPath": "Normal.json",
            //...
        }
    ]
}

but either Easy.json or Normal.json are actually absent from the folder, there is no indication that any part of the conversion process has failed despite no conversion of any sort occurring -- jsons have not been converted to dats, oggs have not been converted to eggs, etc.

Reproduction:

  1. Create a song with two charts via program of choice that still generates the old json format files (e.g. BeatSaberEditor). Say for this example that you create Easy and Normal.
  2. Delete one of the charts (either Easy or Normal) without removing its respective reference from info.json.
  3. Execute simple-converter with that song folder as the target.

Expected Behavior:
I would either expect it to behave one of two ways:

  1. Fail explicitly, saying that conversion failed due to at least one missing chart file, OR
  2. Actually proceed with conversion, optimistically converting all available charts.

Not doing either of the above results in a bad user experience.

Other notes:

Converting back to old format?

I looked at the command attributes and can't seem to find an option to port back to the original.
Right now, the editors don't support the new beatmap system so I'm not able to edit any of the maps I converted manually using this tool (I didn't run with -k).

Nothing happens

I drag it in and not a single thing happens All I wanted is to make my own map and play it and for some reason I cant and IDK why and everything sucks right now

Convert subdirectories of ID directories

BeatSaverDownloader downloads levels into ID'd directories and extracts them inside, so this tool should traverse into directories with an ID and one subdirectory if -a is passed to allow converting all downloaded levels at once.

Doesn't convert to .egg

I have the latest version of Songe Converter yet my songs remain as .ogg files. Any help please? All other files get converted (.json to .dat).

nothing happens (expanded)

simple-converter: ive tried every iteration of dragging files and folders into the cmd window. everything just shows up as the folder location and literally nothing happens. cursor continues to blink as if expecting more input (which i can add, but it doesnt seem to help). cmd just continues to say press enter to exit.

songe-converter: when i run program, window blips in and immediately out. i have no idea what this one even does.

EDIT: I dragged the actual song folder onto the icon of the cmd prompt instead of opening the cmd prompt first. fixed

Cannot compile this program with `sudo make` in Linux

Here are my logs on making the file
(cd-ed to the uncompressed folder of the tar.gz file)

$ sudo make
(inputs correct sudo password)

But the result is:
CGO_ENABLED = 0 GOOS = windows GOARCH = amd64 go build -ldflags = "-s -w -X main.sha1ver = git rev-parse HEAD -X main.gitTag = git tag --points-at HEAD -X main.buildTime = date +% Y-% m-% dT% T% z" -o ./build/songe-converter.exe -v ./cmd/songe-converter
fatal: not a git repository (or any parent directory): .git
fatal: not a git repository (or any parent directory): .git
cmd / songe-converter / main.go: 10: 2: cannot find package "github.com/bmatcuk/doublestar" in any of:
/usr/lib/go/src/github.com/bmatcuk/doublestar (from $ GOROOT)
/root/go/src/github.com/bmatcuk/doublestar (from $ GOPATH)
cmd / songe-converter / main.go: 11: 2: cannot find package "github.com/briandowns/spinner" in any of:
/usr/lib/go/src/github.com/briandowns/spinner (from $ GOROOT)
/root/go/src/github.com/briandowns/spinner (from $ GOPATH)
cmd / songe-converter / main.go: 12: 2: cannot find package "github.com/lolPants/songe-converter/converter" in any of:
/usr/lib/go/src/github.com/lolPants/songe-converter/converter (from $ GOROOT)
/root/go/src/github.com/lolPants/songe-converter/converter (from $ GOPATH)
cmd / songe-converter / main.go: 13: 2: cannot find package "github.com/lolPants/songe-converter/flags" in any of:
/usr/lib/go/src/github.com/lolPants/songe-converter/flags (from $ GOROOT)
/root/go/src/github.com/lolPants/songe-converter/flags (from $ GOPATH)
cmd / songe-converter / main.go: 14: 2: cannot find package "github.com/lolPants/songe-converter/log" in any of:
/usr/lib/go/src/github.com/lolPants/songe-converter/log (from $ GOROOT)
/root/go/src/github.com/lolPants/songe-converter/log (from $ GOPATH)
cmd / songe-converter / main.go: 15: 2: cannot find package "github.com/lolPants/songe-converter/utils" in any of:
/usr/lib/go/src/github.com/lolPants/songe-converter/utils (from $ GOROOT)
/root/go/src/github.com/lolPants/songe-converter/utils (from $ GOPATH)
cmd / songe-converter / main.go: 16: 2: cannot find package "github.com/ttacon/chalk" in any of:
/usr/lib/go/src/github.com/ttacon/chalk (from $ GOROOT)
/root/go/src/github.com/ttacon/chalk (from $ GOPATH)
make: *** [Makefile: 31: build-songe-win] error 1

.egg converter

I may just be using the tool wrong but after dragging all of my custom songs into a folder then running .\songe-converter.exe -a --all-dirs it says that they are correctly converted then upon inspection the .ogg sound files have been turned into .egg files.... Was this intentional? Files do not show up in game afterwards

Package layout

First, thanks for the tool.

But it would be great if this could be split into a library part and one command part. There are some ways to organize go repos but the most popular is golang-standards/project-layout.

This would mean splitting the project up to one cmd/songe-converter with only the main.go file (and flags and logs) and pkg/songe-converter for everything else. This would make it much easier to have a well defined library that could be used for more than the command line tool.

For example, a web server that allows uploads and then conversion of old songs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.