View Issue Details

IDProjectCategoryView StatusLast Update
0001187OpenMPTFile Format Supportpublic2023-03-19 16:11
ReporterSaga Musix Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Target VersionOpenMPT 1.32 / libopenmpt 0.8 (goals) 
Summary0001187: OPL3 improvements for MPTM
Description
  • Obviously, people want 4-op FM. This is not just about the editor; we will also have to think how to (if at all) we want to be able to modify the volume of the extra operators. The current model of modulator = filter cutoff, carrier = volume won't necessarily work here. We have one more command that could logically be used for controlling one more operator's volume, and that is the Offset command.
  • It would make sense to have one OPL3 emulator instance per instrument. Especially with 4-op instruments the channel limit would be reached very quickly, and we currently can only apply master plugins to FM voices. One emulator per instrument would allow us to route the voices more freely.
  • (done) More logical distinction between note-off and note-cut. Make portamento work after note-off (unlike S3M)
TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Relationships

parent of 0001526 new feature request - effect support for OPL instruments 
parent of 0001557 new Render OPL / VST instruments to (multi)samples 
related to 0001363 new FM vibrato and tremolo depth settings 
Not all the children of this issue are yet resolved or closed.

Activities

Midori

Midori

2019-01-16 17:43

reporter   ~0003815

i'm very interested in this, except i'd love to keep the possibility of having OpenMPT adhere to a single hardware OPL3 chip as well, aside of the option with per-instrument OPL3 instances

Midori

Midori

2019-01-16 17:44

reporter   ~0003816

This is in case somebody writes a module converter to formats that have real hardware replayers (think A2M), which isn't an impossible prospect, since i already know of one person who might be willing to do just that

Saga Musix

Saga Musix

2019-01-16 22:14

administrator   ~0003817

You can easily constrain yourself to that by not using more than 18 channels and not using NNAs. As soon as you use NNAs you would be way outside of the A2M specs anyway. I don't really see any value in this limitation that cannot already be achieved in simply by writing a song that conforms to the hardware limits.

Midori

Midori

2019-01-16 22:33

reporter   ~0003818

Fair enough, now that i think about it again

Saga Musix

Saga Musix

2019-01-19 22:40

administrator   ~0003822

Last edited: 2019-01-19 22:40

Note-Cut behaviour has been reworked in r11226: ^^^ cuts the note as expected, pitch/volume/pan can still be modified after note-off.

Saga Musix

Saga Musix

2019-01-20 19:26

administrator   ~0003824

Behaviour was modified once again in 11233 as the legacy flag was not 100% compatible; the meaning of the flag was also inverted, if the flag is enabled, the more logical mode is used. The flag is now also disabled automatically when converting from S3M to preserve playback behaviour more accurately.

Xyz

Xyz

2021-06-07 09:27

reporter   ~0004791

"The current model of modulator = filter cutoff, carrier = volume" Sounds like it should currently modify OP1's TL with a Zxx.

I'm not sure this is yet the case as of 1.29.10.00

Saga Musix

Saga Musix

2021-06-07 11:58

administrator   ~0004792

Last edited: 2021-06-07 11:58

It has been the case from the beginning, but the instrument mustn't be in Additive mode for that to work.

Xyz

Xyz

2021-06-07 19:03

reporter   ~0004795

Okay for some reason my program was bugged and it wasn't working. I guess my previous method of installing over the old version and saying "yes" to replacing every file somehow lead to errors. A fresh install fixed it.

This use of Zxx should be documented in the docs.

Saga Musix

Saga Musix

2021-06-07 19:07

administrator   ~0004796

Okay for some reason my program was bugged and it wasn't working. I guess my previous method of installing over the old version and saying "yes" to replacing every file somehow lead to errors. A fresh install fixed it.

Either you got an OpenMPT version with OPL support or you don't. It's extremely unlikely that the installation breaks in such a way that OPL works but only the filter modification doesn't.

This use of Zxx should be documented in the docs.

It is documented: https://wiki.openmpt.org/Manual:_Samples#Volume

It specifically only says "filter cutoff commands" because filter envelopes also work, and Zxx is a macro command so it can do other things than just setting the filter. The manual should not create the expectation that any Zxx command will automatically change the modulator. It is in fact very well possible that you maybe were using a default Zxx setup in your previous installation where Zxx by default simply didn't set the filter cutoff. In that case it's expected that modulator volume will also not be updated.

teimoso

teimoso

2021-12-11 07:23

reporter   ~0004948

Maybe you've already thought about it, but wouldn't using multiple emulator instances cause trouble with OPL Export?

Saga Musix

Saga Musix

2021-12-11 11:19

administrator   ~0004949

Yes, it's not entirely clear yet how that would be solved. VGM supports two instances of the same chip, but that's it. We could always fall back to single-chip usage for VGM export as an option, or export each instrument to its own file.

Vad1m_1719

Vad1m_1719

2023-03-14 09:32

reporter   ~0005592

you can use 1-2, 3-4, 5-6, 10-11, 12-13 and 14-15 channel with OP4 mode

Vad1m_1719

Vad1m_1719

2023-03-15 11:42

reporter   ~0005600

20230315_184049.jpg (3,201,831 bytes)
20230315_184108.jpg (3,488,358 bytes)

Issue History

Date Modified Username Field Change
2019-01-09 21:42 Saga Musix New Issue
2019-01-09 21:42 Saga Musix Status new => assigned
2019-01-09 21:42 Saga Musix Assigned To => Saga Musix
2019-01-12 23:48 Saga Musix Description Updated
2019-01-12 23:48 Saga Musix Description Updated
2019-01-16 17:43 Midori Note Added: 0003815
2019-01-16 17:44 Midori Note Added: 0003816
2019-01-16 22:14 Saga Musix Note Added: 0003817
2019-01-16 22:33 Midori Note Added: 0003818
2019-01-19 22:40 Saga Musix Note Added: 0003822
2019-01-19 22:40 Saga Musix Note Edited: 0003822
2019-01-20 19:26 Saga Musix Note Added: 0003824
2020-01-19 18:01 Saga Musix Target Version OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first) => OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first)
2020-10-10 13:02 Saga Musix Relationship added related to 0001363
2020-10-10 13:03 Saga Musix Description Updated
2020-10-10 13:17 Saga Musix Description Updated
2021-06-02 22:53 Saga Musix Assigned To Saga Musix =>
2021-06-02 22:53 Saga Musix Status assigned => new
2021-06-07 09:27 Xyz Note Added: 0004791
2021-06-07 11:58 Saga Musix Note Added: 0004792
2021-06-07 11:58 Saga Musix Note Edited: 0004792
2021-06-07 19:03 Xyz Note Added: 0004795
2021-06-07 19:07 Saga Musix Note Added: 0004796
2021-09-15 15:10 Saga Musix Target Version OpenMPT 1.30.01.00 / libopenmpt 0.6.0 (upgrade first) => OpenMPT 1.31.01.00 / libopenmpt 0.7.0 (upgrade first)
2021-12-09 08:03 Saga Musix Relationship added parent of 0001526
2021-12-11 07:23 teimoso Note Added: 0004948
2021-12-11 11:19 Saga Musix Note Added: 0004949
2022-01-29 00:54 Exhale Relationship added parent of 0001557
2023-03-14 09:32 Vad1m_1719 Note Added: 0005592
2023-03-15 11:42 Vad1m_1719 Note Added: 0005600
2023-03-15 11:42 Vad1m_1719 File Added: 20230315_184049.jpg
2023-03-15 11:42 Vad1m_1719 File Added: 20230315_184108.jpg
2023-03-19 16:11 Saga Musix Target Version OpenMPT 1.31.01.00 / libopenmpt 0.7.0 (upgrade first) => OpenMPT 1.32 / libopenmpt 0.8 (goals)