Test build 1.17.03.02

Started by Relabsoluness, September 22, 2009, 21:08:03

Previous topic - Next topic

Relabsoluness

New build 1.17.03.02 (revision 371) is now available for testing.

Download: OpenMPT-1.17.03.02.zip (LPChip's server)
OpenMPT-1.17.03.02.zip (Saga Musix's server)
MD5   :  5ee30dc3b7a485f0428d3e13c0647ac7
SHA-1: 160e6c3e1cc9311cfb8cb27ad69c38f22872ec9f


----Changes----


General:
[New] New default directories: plugins and plugin presets.
[New] IT "Note Fade" command. Works only in instrument mode. Will be displayed as "~~" in the pattern.
[New] Cleanup -> Rearrange samples is back.
[New] Cleanup -> Compo cleanup. Useful for creating samplepacks for compos.
[New] Can import/export color settings. example colour schemes
[Mod] Default keybindings and tunings are now bundled in the executable file. So for example there are always default keybindings available even without default.mkb.
[Mod] Soundcard latency can now be reduced to 1ms.
[Fix] Keyboard manager: Octave offset for key descriptions is now C, not A
[Mod] MP3 Export uses ID3v2 Tags.
[Mod] When loading a tune with VSTs that are currently not installed, only one "plugin not found" dialog with a summary will be shown instead of many small dialogs.
[Mod] Autosave: If a file hasn't changed since the last autosave, it won't be saved again and again...

Instrument tab:
[New] Envelope points can now be added by shift-clicking somewhere in the envelope editor. Middle mouse button click removes the nearest point.
[Fix] No relative values are shown for envelopes with no release node (status bar)
[Fix] Fix to crash that occurred when multiple windows had instrument tab of the same document open.
[Fix] Didn't update properly when rows per beat were 0.

Legacy support:
[New] XM compatibility export.
[New] Can now import GDM (General Digital Music) files.
[New] Can now import IMF (Imago Orpheus) modules
[New] Can now import all "new" PSM modules (Epic Pinball, Extreme Pinball, Jazz Jackrabbit, Sinaria, One Must Fall)
[New] Can now load XM Version 1.02 and 1.03 modules
[Fix/Imp] Loads of (optional) compatibility fixes making playback routines behave more like in original trackers (Fast Tracker, Impulse tracker etc.)
[Imp] Various module conversion improvements between formats.

MIDI mapping:
[New] Can now record parameter changes to pattern (MPTM).
[New] Holding shift-key while modifying a plug param from GUI will open MIDI mapping dialog with corresponding settings preset. Doesn't work with plugs that don't have their own GUI.

MPTM:
[New] New plug param control "notes" (see "Parameter control (MPTm only)" and "Parameter control(smooth)(MPTm only)" from setup->keyboard->Pattern editor - Note col).
Differences to macros:
    -No need to assign to channel before using.
    -Extended parameter index range:
[0, 999]
-Extended parameter value range: [0, 999]
-Consumes all columns in channel instead of just the effect column.
[/list]
Command format: PCS 01 002 123. Instrument column defines the plug index, volume column the plug param and the effect column the effect value in range [0,999]. The example would smoothly set (similarly to /xx command) parameter 2 of plugin 1 to value 123/999.

Important: At the moment the plug indexes in the parameter control notes are not automatically adjusted when reordering plugs. Thus any action that causes the plug index to change will make all parameter control notes that use the index invalid.

[New] Can have multiple sequences in one file.
[New] Extended envelopes: can now have up to 240 points.
[Imp] Channel settings(vol&pan) for channels after 64 will now be saved in the file.

Pattern tab:
[New] Channel reset(stops note, sets initial chn settings). Available from channel header context menu and new key binding.
[New] Overflow paste: Paste will now optionally continue on next pattern. Includes a new keyboard shortcut for toggling.
[New] When shift-clicking somewhere, a selection will be drawn from the previous cursor position to the new position.
[Imp] Various improvements to effect descriptions.

Orderlist:
[New] Multiple orders can be selected in the pattern sequence. At the moment, it is possible to insert, delete, duplicate and dragondrop multiple orders.
[New] Can render a order selection to wav directly from orderlist context menu.

Macro Configuration:
[New] Also detect preset macro types for Z80-ZFF

Sample tab:
[New] Sample drawing.
[New] Add silence and resize sample.
[New] Can now play sample from given position with Ctrl + left mouse button.
[New] DC offset removal. Includes a new possible keyboard shortcut.
[New] Batch export samples (shift + click on "save sample" icon)
[Imp] Better loop point handling when deleting sample selections.
[Imp] Add the key "FinetuneStep" to section "[Sample Editor]" in mptrack.ini to change finetune steps for configuring C-5. For example, add "FinetuneStep=100" for 100 hertz steps.

VST:
[Mod] Changed host IDs and a couple of related return values. If compatibility problems occur, old IDs can be set with ini-settings.

Comment tab:
[New] Double-click sample/instr names to directly go to sample/instr tab
[Imp] Show instrument tab by default for XM files

Setup:
[New] Position aware timer: When jumping around in your modules manually, the timer will be adjusted (must be enabled from setup screen)
[New] Reset channels on loop: When this is enabled (this was the default until now), all channels will be reset when the song loops (i.e. jumps back to position 0). When disabled, channels won't be stopped/reset and the global settings (volume, tempo, speed) will also not be reset.



And in addition numerous smaller fixes, changes and improvements such as GUI tweaks.


Additional file hashes:
mptrack.exe
MD5   : 2fb98a30d0b109478e90fd38094ce31b
SHA-1: 64fcddfbc95749f684f294290aa2822d3c757b1d

Saga Musix

I have prepared a few colour schemes to try out:
http://sagamusix.de/openmpt/download/colors/
My own colour scheme (Jojo.mptcolor) is the default colour scheme, but with darker VU meters.
Feel free to share more themes!

EDIT: I would also beg you to go through the Bug Reports / Feature Requests forums and check if we have accidentally (lol) fixed a bug / included a feature that has not been marked as such.
» 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.

Nahkranoth

НОГУ КЯАР!
Quote from: "Jojo"MPTM:
[New] New plug param controls.
Differences to macros:
-No need to assign to channel before using.
-Extended parameter index range: [0, 999]
-Extended parameter value range: [0, 999]
-Consumes all columns in channel instead of just the effect column.

[New] Can have multiple sequences in one file.

Sam_Zen

0.618033988

Saga Musix

Here's a more or less complete list of all playback improvements:

Impulse Tracker:


  • Better sample vibrato compatibility. Vibrato Sweep isn't perfect yet, though.
  • Special cases of Retrigger + Envelopes
  • Offset beyond sample range
  • Vibrato, Tremolo and Panbrello were behaving incorrectly (fixed waveforms)
  • Don't reset Tremolo on new note, don't ignore tremolo if note volume is 0
  • Ignore S[345]x with x > 3
  • Multisample instruments change with no entry in the instrument column (tentative fix)
  • Compatibility Export: Using an own Tracker ID in the "made with" header field
  • Added "Note Fade" notes. You weren't able to enter them in Impulse Tracker's editor, but they work. Applications that currently support them are OpenMPT, SchismTracker and XMPlay.
  • Row Highlight is now saved in the IT header, as Impulse Tracker in fact supported this.
  • OpenMPT was loading the volume column command hx (vibrato depth) as ux (vibrato speed) and also saving it like this.
  • Tremor is implemented correctly now
  • Retrigger is implemented correctly now
  • Can now load IT files with very small patterns (< 4 rows)
  • Pattern loop count won't be reset on pattern transition
  • Tempo slides won't exceed 255 BPM in compatible mode.
  • Fixed handling of very short pitch / filter envelopes
  • Panning fx (Xxx, S8x, pxx) override pan swing
  • SD0 / SC0 is now interpreted as SD1 / SC1
  • Portamento up / down resets the destination of tone portamento
  • Load default tempo of 31 BPM as 32 BPM instead of 125 BPM (until a better solution is found)
  • Handle out of range global volume commands
  • Global volume slides are stored per channel
  • 4-Bit panning didn't disable surround
  • Remember Arpeggio parameter even if no note is playing


Fasttracker 2:


  • XM Format 1.02 and 1.03 will load correctly now.
  • Portamento + New Note with no previous note
  • Offset beyond sample range
  • More compatible Arpeggio
  • More compatible "Note Off + Something"
  • Note Off with instrument number causes fadeout for samples that have no envelope
  • Volume command Ux only sets the vibrato speed
  • Pxy effect was too deep
  • Don't ignore last pattern when loading XM files that have no instruments
  • Compatibility Export cuts off channels > 32.
  • When channel count is odd, an empty channel will be attached when saving XM files (so Fasttracker 2 won't screw up)
  • Using an own Tracker ID in the "made with" header field
  • F20 won't turn into G20 when saving
  • Tempo slides won't exceed 255 BPM in compatible mode.
  • More compatible retrigger
  • More compatible Kxx effect
  • Pattern loops are now handled correctly
  • Handle out of range global volume commands
  • Global volume slides are stored per channel


Scream Tracker 3:


  • Using an own Tracker ID in the "made with" header field
  • Patterns are now saved correctly and should no more result in garbage the pattern end in ST3 (and BWSB)  
  • Notes with SD0 are now ignored, SC0 is completely ignored
  • 4-Bit panning didn't disable surround
  • Remember Arpeggio parameter even if no note is playing

ProTracker:


  • 8xx Panning ranges from 800 to 8FF
  • F20 won't turn into G20 when saving
  • Pattern loops are now handeled correctly
  • Compatiblity export: Modules created with OpenMPT won't crash Amigas anymore.

General:


  • Correct handling of "break to row" command on last pattern: Don't reset all channels, break to correct row.
  • Updated mod specifications (that define what can be input into the tracker and what not)
» 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.

Saga Musix

And while we're at it:

Small example tune that shows how to use Param Control notes. The Electri-Q plugin is required.
» 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.

bvanoudtshoorn

Quote from: "Nahkranoth"НОГУ КЯАР!
Quote from: "Jojo"MPTM:
[New] New plug param controls.
Differences to macros:
-No need to assign to channel before using.
-Extended parameter index range: [0, 999]
-Extended parameter value range: [0, 999]
-Consumes all columns in channel instead of just the effect column.

Agreed! :D

Nice work, Relabs & Jojo!

g


Harbinger

I don't know what i'm more excited about, USING the new build or writing it up in the OHM!

Excellent work devs! :boogie:

LPChip

Even I'm impressed. :)

Good job guys! :)
"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

Diamond

Yeah nice work guys.  Controlling VSTs from the pattern without macros has been a long time coming.

Harbinger

Changes Comments:
Quote[New] Cleanup -> Compo cleanup. Useful for creating samplepacks for compos.
Please describe. What happens when choosing? Which track formats does this work in?
Quote[New] Can have multiple sequences in one file.
Need more info. How do i access and use this feature?
Quote[New] Also detect preset macro types for Z80-ZFF
What changes does this entail? Is it only of use for plugins whose controller values exceed 7F?
Quote[Imp] Add the key "FinetuneStep" to section "[Sample Editor]" in mptrack.ini to change finetune steps for configuring C-5. For example, add "FinetuneStep=100" for 100 hertz steps.
Does this mean portamento gradations? When do we need to fiddle with this?
Quote[New] Position aware timer: When jumping around in your modules manually, the timer will be adjusted (must be enabled from setup screen)
Seemed to work fine, but i did not test against wildly changing tempos or speeds. Does this clock account for tempo and speed changes from patterns before it?
QuoteImpulse Tracker:

   Special cases of Retrigger + Envelopes
   Offset beyond sample range
   Ignore S[345]x with x > 3
   Multisample instruments change with no entry in the instrument column (tentative fix)
   Row Highlight is now saved in the IT header, as Impulse Tracker in fact supported this.
   Tremor is implemented correctly now
   Retrigger is implemented correctly now
   Pattern loop count won't be reset on pattern transition
   Panning fx (Xxx, S8x, pxx) override pan swing
   Portamento up / down resets the destination of tone portamento
   Handle out of range global volume commands

I know you're going to hate me for asking, Jojo, but can i get details of what's going on with these particular changes, and perhaps what the problem was before? You may be addressing problems i've had before, but i'm not sure with these short descriptions.
I'm especially concerned about S3x, S4x, and S5x, where x > 3. Does this mean IT cannot retrigger oscillator waveforms (vibrato, tremolo, and panbrello), or are they always assumed to be continuous?
In IT, it seems you're saying that calling Exx and Fxx resets the tone portamento, but to what? How has using portamento changed?

Changes i'm VERY impressed with (in no particular order):
Quote[New] Envelope points can now be added by shift-clicking somewhere in the envelope editor. Middle mouse button click removes the nearest point.
Works beautifully and makes envelope editing 100% more efficient.
Quote[New] Holding shift-key while modifying a plug param from GUI will open MIDI mapping dialog with corresponding settings preset.
Have yet to really dive into MIDI mapping, but i have a feeling i will love this when i hook up my Alesis synth to MPT!
Quote[New] Can now record parameter changes to pattern (MPTM).
If this works as simply as i think it will, i will be glad i started tracking in MPTM format last year (when there was no great benefit). What's even better are the shortcuts for this!
Quote[New] Overflow paste: Paste will now optionally continue on next pattern. Includes a new keyboard shortcut for toggling.
The few times i need this will still be worth the inclusion into MPT. (I may need it more than i realize now that i think about it....)
Quote[New] Multiple orders can be selected in the pattern sequence. At the moment, it is possible to insert, delete, duplicate and dragondrop multiple orders.
The best thing to happen to the Order List since +++.
Quote[New] Can render a order selection to wav directly from orderlist context menu.
No, THIS is the best thing to happen to the Order List!!
Quote[New] Sample drawing.
In testing it for the first time, i found myself doodling to my heart's delight -- when i had far more important things to do (like writing up this post)!!! This function i found leads to impulsive creative exploration, as i found myself drawing and previewing, drawing and previewing, seeing what various waveforms sound like. To be honest i didn't think this would be any good of a feature. I'm glad i was wrong!!
Quote[New] Double-click sample/instr names to directly go to sample/instr tab
Finally! The Comments tab has some functionality! This is a good feature.
Quote[New] Position aware timer: When jumping around in your modules manually, the timer will be adjusted
The clock in the bottom right now has a reason to be looked at!

Saga Musix

Quote from: "Harbinger"Changes Comments:
Quote[New] Cleanup -> Compo cleanup. Useful for creating samplepacks for compos.
Please describe. What happens when choosing? Which track formats does this work in?
For the normal user, this is not of interest since it basically destroys the whole module. It's for us One Hour Compo hosters who need to quickly create a samplepack. This option removes all patterns, optionally removes all instruments and cleans up the samples (i.e. resets default volume, global volume, panning and vibrato settings) and converts the module to .IT.

Quote
Quote[New] Can have multiple sequences in one file.
Need more info. How do i access and use this feature?
At the moment, you can only access the sequences by right-clicking on the order list, but treeview support is currently being worked on.

Quote
Quote[New] Also detect preset macro types for Z80-ZFF
What changes does this entail? Is it only of use for plugins whose controller values exceed 7F?
No, this has nothing to do with plugin parameters. While the upper part of the Zxx configuration dialog (Z00 - Z7F, "parametered macro") always "remembers" which macros you use, MPT always displayed "Custom" for Z80 to ZFF (the lower part of the window), even if you didn't specify custom macros. So after setting f.e. Z80-ZFF to control filter resonance and closing the dialog, the dialog will now say "Z80-ZFF: Control Filter resonance" instead of "Custom" when opening the dialog again.

Quote
Quote[Imp] Add the key "FinetuneStep" to section "[Sample Editor]" in mptrack.ini to change finetune steps for configuring C-5. For example, add "FinetuneStep=100" for 100 hertz steps.
Does this mean portamento gradations? When do we need to fiddle with this?
You don't need to do anything with this (hint: when INI settings are involved, it never affects mod playback, in a sense). See here for more details.

Quote
Quote[New] Position aware timer: When jumping around in your modules manually, the timer will be adjusted (must be enabled from setup screen)
Seemed to work fine, but i did not test against wildly changing tempos or speeds. Does this clock account for tempo and speed changes from patterns before it?
This uses the same mechanism as "show row play time" in the pattern editor context menu, so everything is taken into account.

Quote
QuoteImpulse Tracker:

   Special cases of Retrigger + Envelopes
   Offset beyond sample range
   Ignore S[345]x with x > 3
   Multisample instruments change with no entry in the instrument column (tentative fix)
   Row Highlight is now saved in the IT header, as Impulse Tracker in fact supported this.
   Tremor is implemented correctly now
   Retrigger is implemented correctly now
   Pattern loop count won't be reset on pattern transition
   Panning fx (Xxx, S8x, pxx) override pan swing
   Portamento up / down resets the destination of tone portamento
   Handle out of range global volume commands

I know you're going to hate me for asking, Jojo, but can i get details of what's going on with these particular changes, and perhaps what the problem was before? You may be addressing problems i've had before, but i'm not sure with these short descriptions.
I'm especially concerned about S3x, S4x, and S5x, where x > 3. Does this mean IT cannot retrigger oscillator waveforms (vibrato, tremolo, and panbrello), or are they always assumed to be continuous?
In IT, it seems you're saying that calling Exx and Fxx resets the tone portamento, but to what? How has using portamento changed?

You can get details about some of the fixes here.

QuoteI'm especially concerned about S3x, S4x, and S5x, where x > 3. Does this mean IT cannot retrigger oscillator waveforms (vibrato, tremolo, and panbrello), or are they always assumed to be continuous?
I don't get you here. Sxy commands set the waveform once and forever. The fix here is only that e.g. S3F or S4A are ignored, because Impulse Tracker only does something for S30...S33 (same for S4x and S5x of course).

If you have more question about a specific fix that's missing on that wiki page, I may elaborate, but I certainly won't write up a detailed list of what the fixes change, simply because there are too many and because there's a basic description for every fix already.
I have testcase .IT files for almost all fixes, though, so if you're intersted, I can maybe upload those instead?
Also note that many of the bugs are rather unlikely to break a "normal" module (like "Pattern loop count won't be reset on pattern transition"), they were nevertheless bugs.

QuoteChanges i'm VERY impressed with (in no particular order):
Nice to hear that. :)
» 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.

LPChip

Jojo, the cleanup compo function could theoretically be used to create a new song using samples from an old song.

I can see why someone would quickly start a new song using sounds from an old song.

Isn't it an idea to rename the cleanup to: Cleanup: reset all but sounds

or something like that.. or Quick new from song, or something like that...

I see much potential in this feature for normal users and I also think it should be in the manual for that very same reason.
"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

LPChip (et al):
Here's a sneak preview of what I was working on today:

(Note that this is just a draft)

Basically, the last checkbox is what "compo cleanup" was until today, so that should hopefully avoid confusion.
» 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.