Basic Processing Configuration Mode¶
"Basic" Processing Configuration Mode is used to support older Mimi Processors which only supported Mimi media Sound Personalization.
Configuration¶
The MimiProcessingConfiguration.Basic defines the configuration of a ProcessingSession and provides the ability to configure:
- The personalization preset data source and,
- Individual
MimiProcessingParameterApplicators.
Example
Define MimiProcessingConfiguration with "Fine Tuning" personalization:
val configuration = MimiProcessingConfiguration.Basic(
soundPersonalization = SoundPersonalizationConfiguration(
mode = PersonalizationModeConfiguration.FineTuning(Fitting(TODO("Fitting is defined by your Processing system"))),
parameterConfiguration = SoundPersonalizationParametersConfiguration(
isEnabled = ProcessingParameterConfiguration(
YOUR_APPLY_TIMEOUT, // TODO Define a timeout appropriate for your system
isEnabledApplicator::apply // TODO Reference your isEnabled Applicator function
),
intensity = ProcessingParameterConfiguration(
YOUR_APPLY_TIMEOUT,
intensityApplicator::apply // TODO Reference your intensity Applicator function
),
preset = ProcessingParameterConfiguration(
YOUR_APPLY_TIMEOUT,
presetApplicator::apply // TODO Reference your preset Applicator function
),
)
)
)
Read more in the Preset Parameter Data Sources guide.
Synchronizing your Processor¶
When a ProcessingSession is activated, an Applicator will not automatically receive the current MimiProcessingParameter value. For the MimiProcessingParameter to receive the initial value, you need to call synchronizeApplicator() for each Parameter.
Example
After activating the ProcessingSession
// Make each Applicator receive the current value from their respective ProcessingParameter
val isEnabledSyncResult : ProcessingParameterResult? = session.soundPersonalization?.media?.isEnabled?.synchronizeApplicator()
val presetSyncResult : ProcessingParameterResult? = session.soundPersonalization?.media?.preset?.synchronizeApplicator()
val intensitySyncResult : ProcessingParameterResult? = session.soundPersonalization?.media?.intensity?.synchronizeApplicatorr()