View Issue Details

IDProjectCategoryView StatusLast Update
0000686OpenMPTFeature Requestpublic2015-06-24 23:25
ReporterzetaPRIME Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Summary0000686: Zipped MPTM (*.mptz) for packing external resources
Description

I've been experimenting with a new workflow for a while, and I've come to find I need an external sampler in order to route everything I want into the same flow. The specific sampler I'm looking at (Shortcircuit) can save everything in the host-reported project path, but that's just the path the module is in, instead of anything specifying which module it belongs to. As putting every single module in its own directory is kind of ridiculous, I'm proposing a slight variant of the MPTM format to make things cleaner.

Zipped MPTM (*.mptz)
Similar to FL Studio's packed projects, this is simply a zip file with the MPTM itself in the root directory and anything VSTs save/load relative to the project path in a data folder; the host would simply report the project path as being a temp folder, then on save or load pack/unpack everything from/to that folder, clearing it out whenever the module is closed or reloaded.

(I'd try implementing this myself, but I haven't worked with C++ directly in years; definitely more a C# person!)

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)

Activities

Saga Musix

Saga Musix

2015-06-24 23:25

administrator   ~0002070

As discussed on IRC, it's now possible to at least override the project path so that plugin data can be stored in sub folders.
However, for the actual request, here are some things to keep in mind:

  • The VST SDK uses ANSI strings. Windows' temporary folder is usually placed in the User's home folder, which may in fact contain characters which cannot be represented by ANSI, which in turn would lead for this feature to not work for a big user group (e.g. people with Cyrillic / Japanese / etc. user account names).
  • OpenMPT would need to determine whether to zip the module or not, i.e. if there is actually any data that should be packed along. It would probably have to be a user-definable per-song setting, as otherwise, depending on the plugin setup, it could jump around between zipped and non-zipped status (because you may temporarily remove all external resources). However, if the user forgets to enable this option, it might lead to a mess.
  • I am not very happy about extending the currently hacked MPTM format in ways that we will have to keep supporting in the future and which just add further complexity and thus maintenance burden to the module loading / saving code. The new MPTM format will be much more flexible and could allow for storing such external files directly in the MPTM file without needing to wrap another layer (ZIP) around it.

Issue History

Date Modified Username Field Change
2015-06-24 10:41 zetaPRIME New Issue
2015-06-24 17:15 Saga Musix Priority high => normal
2015-06-24 23:25 Saga Musix Note Added: 0002070