View Issue Details

IDProjectCategoryView StatusLast Update
0000506OpenMPTFeature Requestpublic2015-06-24 16:52
ReporterFler0301 Assigned ToSaga Musix  
PrioritylowSeverityfeatureReproducibilitysometimes
Status resolvedResolutionfixed 
Platformx64OSWindowsOS Version8.1
Product VersionOpenMPT 1.23.01.* (old testing) 
Target VersionOpenMPT 1.25.01.00 / libopenmpt 0.2-beta13 (upgrade first)Fixed in VersionOpenMPT 1.25.01.00 / libopenmpt 0.2-beta13 (upgrade first) 
Summary0000506: New Ticks/Row type
Description

Sometimes we need to use variable Ticks/Row speed in module instead fixed, using "Axx" effect for changing playback speed while module is playing. I suggest to implement the use of variable playback speed into the OpenMPT instead of constant use of "Axx" effect. For example, Ticks/Row may consist of two or more values.

TagsNo tags attached.
Attached Files
1.jpg (133,271 bytes)   
1.jpg (133,271 bytes)   
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Amaroq_Dricaldari

Amaroq_Dricaldari

2015-01-07 22:27

reporter   ~0001910

Last edited: 2015-01-07 22:28

Like, if you put down the following,
C-5 01 v64 A04
C-5 02 v64 A08

then it would alternate between the two automatically until the next Axx command? How would you control the interval at which it alternated? For instance, how would you tell it to alternate on the next row, or after three rows, or something like that?

Saga Musix

Saga Musix

2015-01-08 06:42

administrator   ~0001912

Last edited: 2015-01-08 06:43

Doing it like in that comment would be the worst idea possible, since it will most definitely break a couple of hundred modules with multiple copypasted tempo commands on the same row. Nope nope nope, stateful commands like this are a very bad idea.
Either way, if anyone was to introduce such a command it will require a lot of designing: You cannot add it to any of the oldskool formats (MOD/XM/S3M/IT) since their command set is fixed. You could add it to the MPTM format, but then you have to keep in mind that the command, as suggested here, wouldn't work in modern tempo mode because the length of a row is defined by the tempo solely, and not by the tick count. And then there are the plugins which don't like tempo changes...

Saga Musix

Saga Musix

2015-01-08 15:50

administrator   ~0001925

FWIW, to actually propose a sane and working way to implement this (which does <em>not</em> mean that I'll sit down and implement this right away, just before you ask) would be to extend the global and per-pattern time signature feature in modern tempo mode to have a shuffle property which would determine the percentage that each row contributes to the total beat length, e.g. if you have 4 rows per beat you could set the length for each row, where the default value would of course be 25%. This way, plugins that have trouble with tempo changes also wouldn't get confused because OpenMPT could already handle this internally.

Fler0301

Fler0301

2015-01-12 15:56

reporter   ~0001933

Last edited: 2015-01-12 16:00

What do you think about tempo maps implementation? Like this, for example:

TEMPO MAP #1
Row | Tempo
0 | 120
1 | 120
2 | 140
3 | 140
4 | 120
... | ...
---repeat---

And then use some command from pattern to activate or deactivate any tempo map.

Saga Musix

Saga Musix

2015-01-12 17:38

administrator   ~0001934

As said, changing the tempo or ticks per row to achieve shuffling is semantically just wrong and will break many plugins. Furthermore, the way you propose is incompatible with e.g. tempo changes (T0x / T1x commands). Since it is rather unlikely that someone would want to change the shuffle amount in every other measure, I am pretty sure my suggestion is more practical and introduces less hassle.

Saga Musix

Saga Musix

2015-06-13 16:16

administrator   ~0002064

Okay, I gave it a shot and implemented my idea. In the song properties, you can now click "Configure Swing" to set how much every row contributes to a beat. This can also be set for each pattern independently by using the time signature setup in the pattern properties. I'm not very happy yet about the swing config dialog, since setting the exact values you want using the sliders is probably not going to work very well, so please give me feedback how it works for and if you have any ideas how to improve the dialog.

New test build is available at http://buildbot.openmpt.org/builds/auto/openmpt-win32/ as always.

Fler0301

Fler0301

2015-06-20 20:59

reporter   ~0002066

Interesting solution) And it looks like it works fine at this moment, but I think it will be hard to operate with lots of numbers of tempo parameters for beginner user.

Saga Musix

Saga Musix

2015-06-21 00:03

administrator   ~0002067

That's why I'm looking for suggestions on how to improve it.

Fler0301

Fler0301

2015-06-24 15:30

reporter   ~0002068

I’m not well aware of details because I’m the newcomer musician. Maybe we need to publish this solution on some forum, where lots of more professional people could offer their ideas?

Saga Musix

Saga Musix

2015-06-24 16:52

administrator   ~0002069

I don't think anyone outside the OpenMPT world would care. Anyway, I'll close this issue here, if you have any ideas how to improve it further, open a new one.

Issue History

Date Modified Username Field Change
2014-04-12 16:06 Fler0301 New Issue
2014-04-12 16:06 Fler0301 File Added: 1.jpg
2015-01-07 22:27 Amaroq_Dricaldari Note Added: 0001910
2015-01-07 22:28 Amaroq_Dricaldari Note Edited: 0001910
2015-01-08 06:42 Saga Musix Note Added: 0001912
2015-01-08 06:43 Saga Musix Note Edited: 0001912
2015-01-08 15:50 Saga Musix Note Added: 0001925
2015-01-12 15:56 Fler0301 Note Added: 0001933
2015-01-12 16:00 Fler0301 Note Edited: 0001933
2015-01-12 17:38 Saga Musix Note Added: 0001934
2015-05-31 21:53 Saga Musix Assigned To => Saga Musix
2015-05-31 21:53 Saga Musix Status new => assigned
2015-05-31 21:53 Saga Musix Target Version => OpenMPT 1.?? (long term goals)
2015-06-13 16:16 Saga Musix Note Added: 0002064
2015-06-13 16:16 Saga Musix Status assigned => feedback
2015-06-13 16:16 Saga Musix Target Version OpenMPT 1.?? (long term goals) => OpenMPT 1.25.01.00 / libopenmpt 0.2-beta13 (upgrade first)
2015-06-20 20:59 Fler0301 Note Added: 0002066
2015-06-20 20:59 Fler0301 Status feedback => assigned
2015-06-21 00:03 Saga Musix Note Added: 0002067
2015-06-24 15:30 Fler0301 Note Added: 0002068
2015-06-24 16:52 Saga Musix Note Added: 0002069
2015-06-24 16:52 Saga Musix Status assigned => resolved
2015-06-24 16:52 Saga Musix Resolution open => fixed
2015-06-24 16:52 Saga Musix Fixed in Version => OpenMPT 1.25.01.00 / libopenmpt 0.2-beta13 (upgrade first)