1.18.00.01 PC notes mis-rendered in Visualize Effect

Started by rewbs, March 21, 2010, 17:11:46

Previous topic - Next topic

rewbs

Full Version:
OpenMPT v1.18.00.01

Description of the bug:
The "visualize effect" view does not play well with parameter control notes (which are awesome, by the way :) ). For example, a linear slide from param value 000 to 999 is doesn't result in a linear visual representation:


Additionally, editing node positions in the visualize effect window doesn't allow one to edit the full range of param values.

Will I be stepping on anyone's toes if I look into fixing this one myself?

Edit by Jojo: added version number to topic title.

Saga Musix

Rakib already reported this. Feel free to fix it, I have not planned on doing so yet. :)
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Relabsoluness

Quote from: "rewbs"Will I be stepping on anyone's toes if I look into fixing this one myself?
Of course not :). By all means feel free to fix this if you wish.

LPChip

Ouch, my toes! :nuts:

Oh wait, I wasn't one of the devs. :P :lol:
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Saga Musix

/me steps on LPChip's toes for this lame joke
:p
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Rakib

Not to be too cocky, but I wouldn't mind if the param editor could be more useful with interpolation and not only linear interpolation but maybe also exponential interpolation?  :idea:
^^

rewbs

This is fixed in SVN: the effect visualiser now knows to distinguish PC notes (where the value range is [0,999]) from standard effects (where the value range is [0,255], sometimes capped). Standard effect nodes are blue and PC note nodes are yellow:



There are 5 "fill" modes, available from the left dropdown under the visualiser:
- Overwrite with effect: Moving a node replaces the effect type or PC note on that row with the effect specified in the right dropdown.
- Fill blanks with effect: Moving a node where an effect or PC note already exists changes only the param value, but blank effect fields are set to the effect type specified.
- Overwrite with PC note: Moving a node blows away whatever is on that row and writes a PC note. The PC note's type (smooth vs normal), plugin and parameter are inferred from the first visualised row. If that row isn't a PC note, fall back to a default of PCS 01 000.
- Fill blanks with PC note: Moving a node where an effect or PC note already exists changes only the param value, but blank rows are set to PC note. The nature of the PC note is inferred as above.
- Never change effect type: Moving a node only changes the param value. The effect type / PC note-ness is never changed, and blank rows remain blank.

The mode that is selected by default when the visualiser is opened depends on the first row of the selection:
- If the first row is a standard effect, the mode is set to overwrite with that effect.
- If the first row is a PC note, the mode will be set to overwrite with PC notes.

The PC note stuff is only available when you're working with an MPTM.

QuoteNot to be too cocky, but I wouldn't mind if the param editor could be more useful with interpolation and not only linear interpolation but maybe also exponential interpolation?
Hi Rakib, what kind of exponential interpolation are we talking about here? A command like the existing linear interpolation pattern transform, or something more profound that would somehow impact behaviour between rows? In the latter case, do you have any thoughts on how that might work? Are we talking all effects or just plugin param control?

Rakib

I meant for all effect. It would be nice to make a linear interpolation, like a straight line or expontential interpolation.



And maybe ability to put new effect notes on the param editor could be useful.
^^

rewbs

Quote from: "Rakib"I meant for all effect. It would be nice to make a linear interpolation, like a straight line or expontential interpolation.
Are you aware of the existing linear interpolation command that is available from the pattern editor context menu when the effect column is selected? Do you mean something like that, but with an exp. version, and made accessible directly from the param editor window?

Or are you are asking for something more ground-breaking that would involve making the playback engine linearly or exponentially interpolate any effect between two adjacent rows (kind of like the way \xx and smooth PC notes internally interpolate plugin parameter values linearly at tick resolution)?

Quote from: "Rakib"And maybe ability to put new effect notes on the param editor could be useful.
Could you elaborate on this one too? What is a "new effect note" in this context?

Paul Legovitch

I think Rakib refers to his original request :
http://forum.openmpt.org/index.php?topic=3506.0&sid=416a0ad8b215a1f739ba3d56053afd95
Thanks to him I have almost implemented this in my own VolFX param editor (but still buggy)...

rewbs

Quote from: "Paul Legovitch"I think Rakib refers to his original request :
http://forum.openmpt.org/index.php?topic=3506.0&sid=416a0ad8b215a1f739ba3d56053afd95
Thanks to him I have almost implemented this in my own VolFX param editor (but still buggy)...

Thanks - but it's still not clear to me whether Rakib is referring to interpolation at row resolution like the "Interpolate Effect" pattern context-menu command, or at sub-row resolution like \xx and PC-smooth. The former is easier to implement (it's just a pattern transform), the latter is harder (it's a playback engine enhancement).

Rakib

Like what Paul Legovitch said. It's not easy for me to super accurately in english.
^^

Paul Legovitch

He's talking about row resolution interpolation of values : he requested it for my param editor here (last page) : http://forum.openmpt.org/index.php?topic=3439.0&postdays=0&postorder=asc&start=0&sid=416a0ad8b215a1f739ba3d56053afd95

Here's how I implemented it in VolFX : you check one of four type of interpolation (or a custom one) so when you click on the graph with shift pressed, the values are interpolated with the previous click/point.