View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000537 | OpenMPT | Feature Request | public | 2014-05-27 06:39 | 2015-01-08 15:45 |
Reporter | Amaroq_Dricaldari | Assigned To | |||
Priority | none | Severity | trivial | Reproducibility | have not tried |
Status | new | Resolution | suspended | ||
Platform | x86 | OS | Windows | OS Version | 7 |
Product Version | OpenMPT 1.23.03.00 (upgrade first) | ||||
Summary | 0000537: Additions to MPTM format | ||||
Description | Just a list of functions that would be nice additions to the format:
I feel these additions would greatly increase the capabilities of an already amazing piece of software, and would be worth implementing should you have the time. P.S.: A peer-to-peer Google Drive-esque online editing system would be a great addition for musicians who are trying to do a collaborative project. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | |||||
A Loop Jump would be a Position Jump that only triggers if a song is looping, but not while playing normally. If set to play a song a certain number of times for export, and the value you set is "Play Song 3 times", then the Loop Jump would trigger twice but not a third time. OpenMPT will simply stop playback/rendering if song looping is disabled and you are jumping to an already played location, so why make it even more complicated and add another command which essentially just does the same? A volume command/slide that effects all channels except for the one(s) in which it is occurring. Again: Why? You already have global volume (Vxx) which affects all channels. What would you need the same command for except that it affects all but one channel? If two effects are triggered at the same time (for instance, position jump and pattern break), it will have a different effect Just to confuse the user even more? Note: Some formats (MOD, XM) already have this kind of unpredictable behaviour depending on whether the break occurs left or right to the jump, and it's annoying. Instruments that can have more than one VST plugin applied at once. For instance, flanger and Reverb. Already possible. In the <a href="http://wiki.openmpt.org/Manual:_General#Mix_Settings">plugin configuration</a>, choose the appropriate effects you want to chain together.
Two additional columns should be added for each channel to allow you to alter the plugin settings for a specific note in a specific channel, without modifying the plugin settings for the instrument itself. You have not understood plugins and MIDI. There is no such thing as "per-note" in the plugin world. You cannot simply apply some parameters just to one note and some to another note. Akin to the ITP and ITZ formats respectively. Already planned, search for MPTP/MPT Project on the issue tracker and forums. |
|
Respectfully, I don't believe you quite understood what I actually meant. I can understand that you would not have the time to code these things for a while, but at least hear me out and try thinking of the benefits, not the downsides of experimenting. If it is alright with you, I would like to try clarifying on my ideas so that they seem less confusing. +++ A Loop-Jump is a position jump that only plays IF a song is looping. Meaning you can have a separate end to a song if you were listening to it normally, but that end of the song would not play if the song was set to loop. Same thing with a Loop-Break. The biggest reason I support tracker formats is because you can essentially set a "Sustain Start" (for lack of better terms) for an entire song, so why not set a "Sustain End" for an entire song? If a song is not looping, then the effect is ignored (and this skipped), with playback occurring as normal, but if the song is looping then MPT would detect the effect and activate it. +++ As for a Non-Loop Slide, it would be so you could have a song (within a module itself and not through editing post-export) fadeout at the end when it was not looping, but to not fade out if it was looping. And if the fadeout is going too fast or too slow, you only need to change one channel's worth of data rather than Up-To-126 other channels worth of data. +++ Compound effects do indeed seem like they could confuse the user, but MPT could be programmed to detect "conflicts" (such as B04 and C0F) and to work around them, jumping to Row 0F of Position 04. +++ A Multi-Channel Volume slide is so that you can easily fade out multiple channels at once without fading out a few other channels (whichever channel contains Multi-Channel slide data at any point in a song will be ignored for the check, which means you can have multiple channels remain at the same volume when everything else fades in.) +++ As for plugin columns... In FamiTracker there are two columns for FX1 and FX2. I assume those meant that FamiTracker supported VST plugins, and I thought "How hard would it be to make ModPlug capable of doing the same thing with a feature it already supports?" -- Now the thing I mentioned about override notes... I admit was not very well thought out, sue me :/ That was more of a last-minute afterthought once I had all of my other ideas written down. Anyway, that thing you said about Mix settings... I am gonna experiment with that now. Happy tracking. P.S.: I am currently looking up alternate sample codecs to find a smaller-but-non-destructive alternative to FLAC. I found something that looks promising, but I have to read up on it more. |
|
If a song is not looping, then the effect is ignored (and this skipped), with playback occurring as normal, but if the song is looping then MPT would detect the effect and activate it. But what exactly would this be useful for? The only remotely useful usage for this I could imagine would be using OpenMPT in a live setup where you'd want to jump out of a loop eventually, but for this, OpenMPT already has useful live controls that allow you to jump to a new pattern as soon as the current pattern has finished playing. And if the fadeout is going too fast or too slow, you only need to change one channel's worth of data rather than Up-To-126 other channels worth of data. As already said: Global volume is the key. Of course it would be stupid to fade out every channel manually, that's what the global volume commands (Wxx/Vxx) are for. As for plugin columns... In FamiTracker there are two columns for FX1 and FX2. I assume those meant that FamiTracker supported VST plugins, and I thought "How hard would it be to make ModPlug capable of doing the same thing with a feature it already supports?" The last time I checked Famitracker was a NES tracker, so it wouldn't support VST plugins. What FX1 and FX2 are referring to there is probably just two "effects" as in the effect commands as you find them in OpenMPT? |
|
Regarding the loop thing, the idea I was thinking of was something along the lines of a racing game or deathmatch game with a music player where you have access to all of the music. If you set it up so that it picks a song at random and loops it, then it would keep activating the Loop Jump. If you set the music player to use the map's default music, same story. But if you have the music player only play a song once and then jump to another random song, then it would disable looping automatically. +++ And the fadeout... I tried using a Channel Volume slide to counteract a Global Volume slide in the past, but it did not work. (Global Volume Slide was Fine -1 and Channel Volume Slide was Fine +1). The channel remained at the same volume setting and just faded out with the rest of the song. +++ Finally, thanks for clearing that thing up about FX settings for FT, but I saw song controls (position jumps and such) in their own column before FX1 and FX2. But hey, at least now I know that you cannot apply VST effets to chiptune channels. Thank you for taking the time to read my post by the way. It always means a lot to me when people take a look at my ideas, even if they don't make it in. |
|
It sounds like you might want to play more than song in your module. Randomized playing (as such games as Sorry! do) seems like something that might be a difficult thing to implement. But, having all of the music in a game can be accomplished by utilizing the 4,000-pattern sequences allowed by the application. If you use 1,024 rows in your patterns, that increases that value to 64,000. Unless you organize the game music as I sometimes do, in such a way as the listener is essentially "walked through the game" and the music is very long (or the game has a lot of music), it seems unlikely that you will use more than 64,000 patterns. My longest game play through is of Rayman, at 7,489 patterns for all 3 languages (English, French, and German). My recommendation would be to use a single sequence. But, to put all of the game's music in a single module, the application does allow each module to contain up to 50 sequences, which can be of varying lengths. Do note, however, that they are not structured like a playlist. Completing the first sequence does not begin playing the second one. You choose which sequence to play. That is why I discourage using that method. Also, there is no way to jump to different sequences. The pattern break and position jump are on a per-sequence basis. It is also odd how the position jump has yet to accommodate the 4,000-pattern sequence structure. The pattern break accommodates the 1,024-row structure, but the position jump is lacking in that area. If it was structured as the pattern break, it would allow jumping up to position 65,535 (both the position jump (Bxx) and the parameter extender (#xx) set to a value of FF). But, that is completely unrelated to what it sounds like you are trying to do (capture all of the music of a game in a single module). |
|
What I meant by a "music player" wsa having unrelated songs in separate modules, as if they were in a game's directory. A single module could have multiple songs inside, but that is only ideal for a half-dozen. +++ Would it be possible to allow .brr sample importing, exporting and/or playback? From what I am told, even though .brr is technically a lossy format, it uses different techniques to prevent loss in quality (such as applying a filter after the sample is converted to a lower bitdepth.) Unfortunately, the only programs I have seen that can read or create .brr files are SPC emulators. |
|
How do I set this "issue" so that nobody else will see it? I can't find a regular "delete" option. |
|
You can't, and there's no need to. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2014-05-27 06:39 | Amaroq_Dricaldari | New Issue | |
2014-05-27 09:12 | Saga Musix | Note Added: 0001684 | |
2014-05-27 10:45 | Amaroq_Dricaldari | Note Added: 0001685 | |
2014-05-27 10:47 | Amaroq_Dricaldari | Note Edited: 0001685 | |
2014-05-27 10:49 | Amaroq_Dricaldari | Note Edited: 0001685 | |
2014-05-27 22:07 | Saga Musix | Note Added: 0001686 | |
2014-05-27 22:31 | Amaroq_Dricaldari | Note Added: 0001687 | |
2014-05-29 19:03 | Really Weird Person | Note Added: 0001689 | |
2014-05-29 20:34 | Amaroq_Dricaldari | Note Added: 0001690 | |
2015-01-08 15:25 | Amaroq_Dricaldari | Priority | low => none |
2015-01-08 15:25 | Amaroq_Dricaldari | Resolution | open => suspended |
2015-01-08 15:26 | Amaroq_Dricaldari | Note Added: 0001921 | |
2015-01-08 15:27 | Amaroq_Dricaldari | Note Edited: 0001921 | |
2015-01-08 15:45 | Saga Musix | Note Added: 0001924 |