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 > Pattern ID numbers in new frames Owner: Stratelier New post
Page 1 of 1 Sort:  
Pattern ID numbers in new frames Posted: 2014-06-26 07:54 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#58675
This is something that really confused me at first, until I realized what was going on (and that it has no actual effect on the song as played) -- now it just quietly bugs me from the back of my mind:

When you start composing a song, your first few frames tend to have the same pattern IDs across all channels, right? Then you start introducing repetition as you extend the song, which leaves some pattern IDs empty across various channels - for example:
[quote=]00 | 00 00 00 00 00
01 | 01 01 01 01 01
02 | 02 02 00 00 00
03 | 03 03 03 03 03[/quote]
(E.g. pattern 02 has only two channels in use; the other three are empty.)

But a common trend is that non-repeated frames tend to use the same pattern ID numbers across all channels, and things start hitting the fan as you add more repetition -- in the above example, if I'm on frame 03 and tell Famitracker to insert a new frame, frame 04 becomes this:
[quote=]04 | 04 04 02 02 02[/quote]
I understand that Famitracker assigns new pattern IDs based on the first empty pattern ID it can find for each channel. But since frame 04 happens to be a new verse in my song, I don't want to re-use any pattern IDs from the 00-03 ('verse 1') range unless I specifically know it's repeating a pattern from verse 1. (And this one isn't.) If Famitracker assigned pattern IDs of 04 across all channels it would save me the time of editing those IDs manually to correct it.

I know this is mostly an artist OCD issue, but it also has a practical benefit in exporting FTM files as text, because note data is grouped by pattern ID: keeping a frame's pattern IDs as consistent between channels as possible makes it easier to work with an export (all its channels are grouped together and not split between patterns).

So my suggestion is that whenever FamiTracker generates pattern IDs for a new frame, currently it looks for the first empty pattern (per channel) [i]counting from zero[/i] but could it instead start counting from the pattern IDs of the [i]frame before it[/i]? E.g. if the current frame's patterns are (03 03 03 03 03) and I insert a new frame, the new frame's patterns are (04 04 04 04 04) or higher.

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2014-06-30 00:40 Reply | Quote
jsr
Administrator

Avatar

Member for: 5925 days
Location: Sweden
Status: Offline

#58882
Hello, I see the problem here. I don't think I'll change the current behaviour, but perhaps addding this as an option would be a good idea.

I'll think about it, thanks for your feedback!

_______________________
Programmer and developer
RE: Pattern ID numbers in new frames Posted: 2014-08-16 17:44 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#60989
[quote=Stratelier]So my suggestion is that whenever FamiTracker generates pattern IDs for a new frame ... start counting from the pattern IDs of the [i]frame before it[/i]?[/quote]
If I may tweak this proposal slightly ... find the highest pattern ID [i]across all channels[/i] of the frame above it and use that as the starting value for allocating available pattern IDs to all channels of the new frame. This way, when you insert a new frame it keeps pattern ID numbers the same across as many channels as possible (or at least until you run out of pattern IDs -- which usually means running out of frames first).

For example, if at one point I have pattern IDs like this:
[quote=]02 | 02 02 02 02 02
03 | 03 01 03 03 03
04 | 04 04 04 04 04
05 | 05 04 04 05 04[/quote]

and I tell FamiTracker to insert a new frame at the end, current behavior may yield ("errors" underlined):
[quote=]06 | 06 [u]03 05[/u] 06 [u]05[/u][/quote]
Previous suggestion would yield (differences from above underlined):
[quote=]06 | 06 [u]05[/u] 05 06 05[/quote]
When what I really want to see is:
[quote=]06 | 06 06 06 06 06[/quote]

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2015-04-07 01:28 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#67909
I now have a related suggestion:

You know how when you're in the Frame Editor and you insert a new frame, FamiTracker picks unused pattern IDs for that frame?

I'd like FamiTracker to also do this if I go to my Song Settings and increase the # of frames from there. Currently, when you edit this value, any added frames are initialized with pattern IDs of 00. Which makes them easy to recognize, sure, but chances are pretty good that you're already using pattern 00 for something else, and don't intend to repeat it much later on.

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2015-04-07 02:34  (Last Edited: 2015-04-07 02:37) Reply | Quote
Shywolf



Member for: 4098 days
Status: Offline

#67913
[quote=Stratelier]You know how when you're in the Frame Editor and you insert a new frame, FamiTracker picks unused pattern IDs for that frame?

I'd like FamiTracker to also do this if I go to my Song Settings and increase the # of frames from there. Currently, when you edit this value, any added frames are initialized with pattern IDs of 00. ...[/quote]^Now, this I'd like to see implemented.

For Stratelier's first suggestion, I personally prefer the existing behaviour for inserting frames, so I support jsr's notion of making it a checkbox'd feature. (I imagine the checkbox would enable/disable Stratelier's suggestion for both the >Insert Frame command [i]and[/i] the Song Settings Frames value.)

Page 1 of 1 Sort: