Enum ObjectProcessingHint
Defines a hint which tells the objects processing algorithm how it can optimize its performance.
Namespace: Melanchall.DryWetMidi.Interaction
Assembly: Melanchall.DryWetMidi.dll
Syntax
[Flags]
public enum ObjectProcessingHint
Remarks
If you want to get the maximum performance of an object processing (for example,
ProcessObjects(MidiFile, ObjectType, Action<ITimedObject>, Predicate<ITimedObject>, ObjectDetectionSettings, ObjectProcessingHint)),
choose a hint carefully. Note that you can always use an object manager to
perform any manipulations with objects but dedicated methods of the TimedObjectUtilities will
always be faster and will consume less memory.
Fields
Name | Description |
---|---|
AllPropertiesCanBeChanged | The processing algorithm will consider that everything on an object can be changed. This hint means minimum performance, i.e. the processing will take more time and consume more memory. For maximum performance see None option. |
Default | Default hint. Equals to TimeOrLengthCanBeChanged. |
None | The processing algorithm will consider that properties that don't affect underlying MIDI events positions will be changed only. This hint means maximum performance, i.e. the processing will take less time and consume less memory. If you're going to change, for example, objects times, or notes collections of chords, your changes won't be saved with this option. |
NoteTimeOrLengthCanBeChanged | Time or Length can be changed on a note within a chord's notes (Notes). |
NotesCollectionCanBeChanged | Notes can be changed, i.e. a note can be added to or removed from a chord. |
TimeOrLengthCanBeChanged | Time or Length of an object can be changed. |