BleuBleu / FamiStudio

FamiStudio NES Music Editor
MIT License
1.58k stars 98 forks source link

Broken FTM Compatibility (& some more issues and feature requests) #14

Closed N-SPC700 closed 4 years ago

N-SPC700 commented 4 years ago

Exactly what it says on the tin. The ability to open FTMs does work, but many many commands don't work, and some songs straight up just don't sound right at all, due to the lack of feature implementation. Take for example, the Namco 163's wave switching. That's not possible here, and some imported songs suffer hard. Same applies to manual VRC6 pulse width commands. Additionally, some DPCM samples don't even import.

Other Issues:

Feature Requests (not necessary but would be great to have):

Additionally, do you have any plans for sample songs that are made by the users, if they are covers/originals/recreations? I think both me and quite a few people would be interested in adding a few sample songs to future versions.

BleuBleu commented 4 years ago

Hi! This is a huge post. I will read it one night this week, I have some crashes to address that will take higher priority. Thanks for you patience, i appreciate the feedback.

-Mat

sirocyl commented 4 years ago

In the future, when you submit issues, I'd recommend itemizing out individual issues/requests, so that they can be triaged, workflowed and tackled independently. I've seen people being banned from issue trackers for laundry-listing multiple points in a single issue, and it's more proper Github etiquette. 🙂

N-SPC700 commented 4 years ago

Yeah, my bad. Sorry about that :P

BleuBleu commented 4 years ago

Hi!

Finally have some time to catch up on this! I dont think ill be able to address everything that is in the post, Apologies in advance for the long post! :)

I'll cover the ones I think are important, so if i dont cover a topic, assume its not a priority at the moment.

Here is roughly how I chooses to add new features or not, just so you understand where im coming from.

  1. I am not interested in features that are too tracker-centric: There are tons of trackers out there, im doing something else. (ex: delayed cuts/stops will be considered low priority).
  2. I want to avoid feature duplication: If there is a reasonable alternative right now, the feature will not be very important to me, lean and mean is the key here. (ex: Vxx, creating a new instrument and copying the envelopes take 3 seconds).
  3. I want to prioritize features that benefits the most people (ex: Linux port and giving people using trackpad better controls will take precedence over some obscure expansion chip that was rarely used).
  4. Crashes at top priority, we dont like those.

Rant over! Let's break it down:

Broken FTM compatibility.

I think i've been very transparent from the trailer and the documentation (which i assume you have checked out) that only a subset of features are supported.

image

There is extensive coverage of the limitations in the doc:

I'll post a snipped here, but there is a lot more info in the doc (such as you N163 comment, all well documented).

Note that only a small subset of features is supported. Only the following effects are supported. Every other effect will be ignored:

1xx/2xx (Slide up/down) : Will be converted to slide notes
3xx (Portamento) : Will be converted to slide notes.
4xy (Vibrato) : Vibrator speed will be slightly modified, see table above for mapping.
Bxx (Jump) : Will be converted to loop point.
Dxx (Skip) : Will be converted to a custom pattern length.
Fxx (Speed) : Only speed is supported.
Pxx (Fine pitch) : Fully supported.
Hxx (FDS Modulation depth) : Fully supported.
Ixx/Jxx (FDS Modulation speed) : Fully supported, but combined in one 16-bit value.

DPCM samples that dont load is likely because they go over the 16KB limit, which i have no interest in expanding in the short term.

ROM studder

I am very interested in fixing this, would it be too much to ask too send me the song so I can debug?

Crash when importing FTM

Thanks so much for attaching the file, this is how you report a bug, A+! Next version will have the fix. In the meatime, make sure all your song names are unique in the file (they are all called "New song" at the moment and this confuses the app very much).

Missing 5B feature

Yes, it is mentioned in the limitations on the website as well. I use emu2149 for the audio generation, so in theory it wouldnt be too hard to expand. I am definitely intrigued to see how this chip could sound, but definately low priority imho.

PAL 2A07

The APU pulse period is also 11-bit on PAL. I dont think you can go lower than G#0 (roughly). Please correct me if i am wrong.

https://wiki.nesdev.com/w/index.php/APU_Pulse

Stereo

Would be cool but kind of low priority.

FamiTracker text import/export

Been supported since 1.1.0 (August 2019), was covered in multiple tutorials (https://youtu.be/-5GovfMwF90), documentation, etc.

Backward compatibility

Files made all the way back from FamiStudio 1.0.0 are supported. If you have an example that does not work, please send it to me. This is extremely important to me, I never want to break compatibility, ever.

Demo songs

Yes! Please, if you want to get involved an contribute a demo song, i would love that. I'll give you full credit, feature it in a trailer if it fits the tone.

-Mat

sirocyl commented 4 years ago

I very much appreciate the attention to detail, extensive documentation, and a sharp focus on usability, reliability and compatibility - all while maintaining simplicity, elegance and speed - and especially the clear and goal-oriented development methodology moving forward! This is an exciting and important project to a lot of people, and I can see that it is being handled incredibly well. <3

Honestly, this project is rather ambitious, and I didn't expect for it to pick up so quickly and exceed all my expectations. As much as I usually prefer and admire a tracker UI for composition, I'd say this might easily be the best tool for NES chiptune to date, and one of the better utilities for chiptune in general.

And I run a Famitracker fan site and community.

BleuBleu commented 4 years ago

Thanks for understanding where I am coming from. I hope OP replies so the discussion can resume.

-Mat

BleuBleu commented 4 years ago

The FTM crash due to duplicate song names in included in 2.0.2 which was just released. OP has not followed up on any of the other topics. Closing.