View Issue Details

IDProjectCategoryView StatusLast Update
0000779OpenMPT[All Projects] libopenmptpublic2018-11-24 10:48
ReporterSaga MusixAssigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Product VersionOpenMPT 1.?? (long term goals) 
Target VersionFixed in Version 
Summary0000779: Allow certain playback-related flags to be set as load-time ctl or during playback
Description

Some internal flags should be able to be chosen by the user (e.g. the currently unimplemented flag for playing Amiga MODs as mono, force-enabling VBlank timing for ProTracker MODs or super-smooth ramping for XM files).
It would be rather simple to allow those things to be specified through ctl values, but ultimately it would be very useful to also be able to get and set them in real-time (e.g. through openmptmodule*_render_param), as e.g. a module player should be able to change some of these settings in real-time.

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

Relationships

related to 0001173 resolved MOD file playing wrong with latest libopenmpt 

Activities

manx

manx

2016-05-04 18:24

administrator   ~0002359

I think basically all of enum PlayBehaviour could be exposed as ctls. ctls are settable even after loading by using ctl_set(). Unless implemented load-time specific explicitly, ctls will also and are supposed to work during play time by default.
I dont think it would make much sense to define render_params for those (and thereby make them completely realtime-safe that way), at least at first (especially as the expected use of these ctls should be rather rare as libopenmpt is supposed to do the best guess right thing by default).

Saga Musix

Saga Musix

2016-05-04 19:56

administrator   ~0002360

I don't think it is really necessary to expose all of PlayBehaviour - most of it can be accurately determined at load-time and should never be changed by the user. The amount of (sometimes rather insufficiently documented) behaviour flags there would probably just confuse any library user (both developer and end-user). The number of play behaviours that are actually relevant to be settable via ctls is really low.

Issue History

Date Modified Username Field Change
2016-05-04 17:46 Saga Musix New Issue
2016-05-04 17:47 Saga Musix Category Feature Request => libopenmpt
2016-05-04 17:47 Saga Musix Description Updated View Revisions
2016-05-04 18:24 manx Note Added: 0002359
2016-05-04 19:56 Saga Musix Note Added: 0002360
2018-11-24 10:48 Saga Musix Relationship added related to 0001173