Offline
São Paulo, Brazil

bump just for all the excite about this thing.

Offline
New York City

GReat idea. Will be looking forward to it!

Offline
Stockholm

MML export would be great feature smile

Offline
Melbourne, Australia

* > to XML
and then,
XML > LSDJ.sav/LSDJ.lsdsng again, nom nom.

Last edited by aday (Mar 19, 2013 4:04 am)

Offline
Melbourne, Australia

Oh wait, never mind! you got JSON, i can dig. big_smile
root@ishiki:/home/aday/py/lsdj-utils/lsdj-sav-utils-master/out/NYAN# cat phrase_00.json
{"notes": [40, 41, 43, 0, 48, 0, 41, 40, 41, 43, 48, 52, 53, 52, 47, 48]}

that's freaking cool!

Last edited by aday (Mar 19, 2013 4:17 am)

Offline
Los Angeles, CA

Nice! Glad you're getting use out of this!

I'm planning on doing some more work on this soon. Watch this space.

Offline
sweden

Any updates? smile

Offline
Los Angeles, CA

Yup! Thanks for your continued interest in this.

When I came back to the codebase in March, it was an absolute mess. I ended up refactoring the parsing portion of the code, which has made the whole thing a lot easier to maintain.

The basic mechanics (loading, storing, parsing) are done. Test coverage is a lot less than I'd like, but there are a handful of functional tests and they're passing.

There are a couple remaining long poles:

The binary format parsing library I'm using is kind of slow, since it's pure Python and does a ton of object creation under the hood during writes. I'm debating between speeding that library up with a patch and just writing something that does what I need; I'll probably end up doing the latter, since I really just need simple bitwise file I/O. When it can store a .savfile in under 5 seconds without running it in pypy I'll be happy.

It doesn't have a GUI yet, which I know is something that a lot of people wanted. I'm debating just making it run a web server and writing the UI in HTML/JS to save time.

Once its speed is acceptable and a basic GUI is in place, I'll need people to kick the tires and I'll start writing more thorough tests.

In short, it's pretty far along. I'd like to get it to the point where I can declare victory by the end of the year; thankfully I'll have some holiday time off to spend working on it.

Offline
Unsubscribe

Keep up the good work!!

Offline
Los Angeles, CA

Progress is being made, however slowly:

It's not much to look at (I'm in the "get the UI elements functioning before making them pretty" phase), but a lot of the initial rough patches have been worked through. UI construction is really tedious.

More to come. Thanks for bearing with me.

Offline
Unsubscribe

!!

Offline

big_smile awesome.
Looking forward to the release!

Offline

Great news!

The code on google code seems untouched since 2011.
What library do you use for binary parsing?

I started to write such a tool as well, in python too.
For now it can parse a sav file, extract songs, and parse some song data...
I used my own parsing routines.
In fact I tried to 'describe' the binary format, in order to be able to parse AND to write data in that format.

I think I will be able to work on it during the following days, but I wanted to know if I could contribute to your project instead...

Do you have some recent code somewhere?

Offline
Taichung, Taiwan

nice.

Offline
Los Angeles, CA

@cyberic: The code is on GitHub: https://github.com/alexras/lsdj-sav-utils

I wrote a binary format I/O library, called bread, precisely because the parsing code in the original lsdj-sav-utils codebase was getting super hairy. It's also on GitHub: https://github.com/alexras/bread

I would definitely welcome pull requests, but I'd like to get an alpha release out the door first.

Offline

Great! Your lib seems cool!
Tell me if you need testing.
After your release I think I will code some utilities, for instance to dump instruments to a file, to merge an instrument into an existing song, things like that...
You should update the google doc page to point to github.