Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > Bug Reports & Feature Requests > Text import/export Owner: rainwarrior New post
Page 1 of 1 Sort:  
Text import/export Posted: 2012-02-04 11:48 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#29706
I was thinking a while back that it would be cool if there was an import plugin feature to complement the export plugins. Lately I've been thinking about the kind of export workflow you need to make a game, and I was taking a look at Shiru's FamiTone process, and I realized there may be a simple way to satisfy these needs really well.

I propose to remove export plugins, and replace them with the following:

1. Make the text exporter a part of the main program.
2. Create a corresponding text importer.
3. Allow text export via the command line.

Having 1 and 2 would give us a much easier to use interface than trying to build a plugin DLL, and open up import/export/transformation scripting to a much wider audience (no longer limited to just windows C++). For a game workflow, 3 is key to being able to automate your data builds (this would also help with creating export-transform-import scripts as well).

It would also allow me to rewrite the NSF importer as a stand alone NSF-to-TXT tool, which could more gracefully coexist with FamiTracker, rather than being something I have to hack into it.

jsr, I'd be willing to write these changes myself, if you think it would be a good thing to do.

Posted: 2012-02-05 04:08 Reply | Quote
Kasumi



Member for: 3796 days
Status: Offline

#29750
I actually got an account to create a topic about a potential generic export plugin I may write. One that exports the instruments, patterns, frames etc. in separate well documented formats.

That way, whoever wants can just write a command line app to parse those files to take the data needed. I had not even thought of an importer, but the idea is great.

Posted: 2012-02-05 08:51 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#29771
Maybe we don't need to get rid of export plugins entirely, but having a decent text-exporter built in, especially one you can do via command line, would have tremendous utility.

Posted: 2012-02-06 00:30 Reply | Quote
jsr
Administrator

Avatar

Member for: 5924 days
Location: Sweden
Status: Offline

#29808
I think removing the exporter would be problematic, because I know at least a few who are using it. But I don't think that will be of any hindrance, and the text exporter is already available and easy to modify if needed. I've started adding support for command line switches, including an option to export files. The only thing needed would be a way to specify the export method to access the text exporter.

If you want to add an importer then that's ok. You can create a branch if you need.

_______________________
Programmer and developer
Posted: 2012-02-06 02:32 Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#29823
Okay, I might try to implement it in a few weeks. I don't imagine it would be too complicated, probably wouldn't need a branch.

Yeah, I wouldn't get rid of the exporter plugin system if people are using it. I mostly just meant that if there was a good built-in text exporter, that could satisfy most of people's custom export needs without anybody being tied to having to build a DLL with C++.

Posted: 2012-12-03 03:06  (Last Edited: 2012-12-03 03:22) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#42516
So... update: I've actually implemented this. I guess my dream will become reality in the next version of Famitracker. The great hope is that it will make it much easier to build tools to work with Famitracker documents (since every programming language can work with text). Here are some things I will probably do with it:
[ul]
[li]Parse text to make animations based on FTMs.[/li]
[li]Export music into a custom engine format for NES.[/li]
[li]Write export -> process -> re-import scripts to automate tasks that are too specific to be a feature in Famitracker.[/li]
[li]Export two versions of an FTM, and do a text diff to find out what changed.[/li]
[li]Generate text documents from NSFPlay as a replacement for NSFImport. It won't need to be a hacked Famitracker build any more![/li]
[li]Generate text documents based on MIDI files.[/li]
[/ul]
I've attached an example of what the text version of a Famitracker document looks like.


Attachments:
bossavania.txt (166 Kb)
Posted: 2012-12-03 05:29 Reply | Quote
ElHuesudoII

Avatar

Member for: 4525 days
Status: Offline

#42517
That is awesome.

So awesome, and I can't wait to get my hands on it.

Posted: 2012-12-04 02:08 Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#42536
You know; this sort of reminds me of the old ASM source exporter in FamiTracker 0.2.7. This & the fact that both can technically be used to convert between FamiTracker, MCK & ASM if used properly.

As for MIDI to text, I honestly wouldn't recommend it unless MIDI import is working as it should. I haven't tried MIDI import for 0.4.1 yet, though.

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Posted: 2012-12-04 05:49  (Last Edited: 2012-12-04 05:50) Reply | Quote
rainwarrior

Avatar

Member for: 4150 days
Location: Canada
Status: Offline

#42539
I meant using it as a means to get MIDI data into Famitracker, since the MIDI import isn't very good.

Really this can be used to import anything. People have been requesting a GBS import for a long while; this would actually make that easier to accomplish.

Posted: 2012-12-31 12:41  (Last Edited: 2012-12-31 12:45) Reply | Quote
Glitch_King

Avatar

Member for: 3726 days
Location: California
Status: Offline

#43207
I wish ppmck was like this instead of programming, GOD IT WOULD BE SO MUCH EASIER!

_______________________
Some other sites I have made shelter on...
[url=http://www.youtube.com/user/KingGlitchofGlitches]Ye Youtube
[url=http://chipmusic.org/glitch_king]Ye Chipmusic
[url=http://battleofthebits.org/barracks/Profile/Glitch_King/]Ye BotB
Posted: 2012-12-31 12:44 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4982 days
Location: Canada
Status: Offline

#43208
Not really.

_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
Posted: 2012-12-31 12:47  (Last Edited: 2012-12-31 12:48) Reply | Quote
Glitch_King

Avatar

Member for: 3726 days
Location: California
Status: Offline

#43209
[quote=jrlepage]Not really.[/quote]WHY MUST EVERYTHING BE SO DIFFICULT!! *flip table*

_______________________
Some other sites I have made shelter on...
[url=http://www.youtube.com/user/KingGlitchofGlitches]Ye Youtube
[url=http://chipmusic.org/glitch_king]Ye Chipmusic
[url=http://battleofthebits.org/barracks/Profile/Glitch_King/]Ye BotB
Page 1 of 1 Sort: