Enum reaper_medium::TrackAttributeKey
source · [−]pub enum TrackAttributeKey<'a> {
Show 55 variants
ParTrack,
Project,
Name,
Icon,
McpLayout,
TcpLayout,
Ext(Cow<'a, ReaperStr>),
Guid,
Mute,
Phase,
TrackNumber,
Solo,
FxEn,
RecArm,
RecInput,
RecMode,
RecMon,
RecMonItems,
AutoMode,
Nchan,
VuMode,
Selected,
WndH,
TcpH,
TcpY,
McpX,
McpY,
McpW,
McpH,
FolderDepth,
FolderCompact,
MidiHwOut,
PerfFlags,
CustomColor,
HeightOverride,
HeightLock,
Vol,
Pan,
Width,
DualPanL,
DualPanR,
PanMode,
PanLaw,
Env(EnvChunkName<'a>),
ShowInMixer,
ShowInTcp,
MainSend,
MainSendOffs,
FreeMode,
BeatAttachMode,
McpFxSendScale,
McpSendRgnScale,
PlayOffsetFlag,
PlayOffset,
Custom(Cow<'a, ReaperStr>),
}
Expand description
Track attribute key which you can pass to get_set_media_track_info()
.
Variants
ParTrack
Parent track (read-only).
*mut MediaTrack
Project
Parent project (read-only).
*mut ReaProject
Name
Track name (on master returns null_mut()
).
*mut char
Icon
Track icon.
*const char
Full file name or relative to resource path / data / track icons.
McpLayout
Layout name.
*const char
TcpLayout
Layout name.
*const char
Ext(Cow<'a, ReaperStr>)
Guid
6-byte GUID, can query or update.
*mut GUID
If using a _string()
function, GUID is a string {xyz-...}
.
Mute
Muted.
*mut bool
Phase
Track phase inverted.
*mut bool
TrackNumber
Track number
i32
1-based, read-only, returns the i32 directly.
- 0 → not found
- -1 → master track
Solo
Soloed.
*mut i32
- 0 → not soloed
- 1 → soloed
- 2 → soloed in place
- 5 → safe soloed
- 6 → safe soloed in place
FxEn
FX enabled.
*mut i32
- 0 → bypassed
- != 0 → FX active
RecArm
Record armed.
*mut i32
- 0 → not record armed
- 1 → record armed
RecInput
Record input.
*mut i32
- <0 → no input
- 0..=n → mono hardware input
- 512 + n → rearoute input
- &1024 → stereo input pair
- &4096 → MIDI input, if set then low 5 bits represent channel (0 → all, 1 - 16 → only channel), next 6 bits represent physical input (63 → all, 62 → VKB)
RecMode
Record mode.
*mut i32
- 0 → input
- 1 → stereo out
- 2 → none
- 3 → stereo out with latency compensation
- 4 → midi output
- 5 → mono out
- 6 → mono out with latency compensation
- 7 → MIDI overdub
- 8 → MIDI replace
RecMon
Record monitoring.
*mut i32
- 0 → off
- 1 → normal
- 2 → not when playing (tape style)
RecMonItems
Monitor items while recording.
*mut i32
- 0 → off
- 1 → on
AutoMode
Track automation mode.
*mut i32
- 0 → trim/off
- 1 → read
- 2 → touch
- 3 → write
- 4 → latch
Nchan
Number of track channels.
*mut i32
2 - 64, even numbers only.
VuMode
Track vu mode.
*mut i32
- 0 → Stereo Peaks
- 2 → Multichannel Peaks
- 4 → Stereo RMS
- 8 → Combined RMS
- 12 → LUFS-M
- 16 → LUFS-S (readout = Max)
- 20 → LUFS-S (readout = Current)
LUFS calculation on channels 1+2 only.
Selected
Track selected.
*mut i32
- 0 → unselected
- 1 → selected
WndH
Current TCP window height in pixels including envelopes (read-only).
*mut i32
TcpH
Current TCP window height in pixels not including envelopes (read-only).
*mut i32
TcpY
Current TCP window Y-position in pixels relative to top of arrange view (read-only).
*mut i32
McpX
Current MCP X-position in pixels relative to mixer container.
*mut i32
McpY
Current MCP Y-position in pixels relative to mixer container.
*mut i32
McpW
Current MCP width in pixels.
*mut i32
McpH
Current MCP height in pixels.
*mut i32
FolderDepth
Folder depth change.
*mut i32
- 0 → normal
- 1 → track is a folder parent
- -1 → track is the last in the innermost folder
- -2 → track is the last in the innermost and next-innermost folders
- …
FolderCompact
Folder compacted state (only valid on folders).
*mut i32
- 0 → normal
- 1 → small
- 2 → tiny children
MidiHwOut
Track midi hardware output index.
*mut i32
Low 5 bits are which channels (1..=16, 0 → all), next 5 bits are output device index (0..=31). < 0 means disabled.
PerfFlags
Track performance flags.
*mut i32
&1 → no media buffering &2 → no anticipative FX
CustomColor
Custom color.
*mut i32
<OS dependent color> | 0x100000
(i.e. ColorToNative(r, g, b) | 0x100000
).
If you don’t do | 0x100000
, then it will not be used, but will store the color anyway.
HeightOverride
Custom height override for TCP window.
*mut i32
0 for none, otherwise size in pixels.
HeightLock
Vol
Trim volume of track.
*mut f64
- 0 → -inf
- 0.5 → -6dB
- 1 → +0dB
- 2 → +6dB
- …
Pan
Trim pan of track
*mut f64
-1..=1.
Width
Width of track
*mut f64
-1..=1.
DualPanL
DualPanR
PanMode
Pan mode.
*mut i32
- 0 → classic 3.x
- 3 → new balance
- 5 → stereo pan
- 6 → dual pan
PanLaw
Pan law.
*mut f64
- < 0 → project default
- 1 → +0 dB
- …
Env(EnvChunkName<'a>)
TrackEnvelope (read only).
*mut TrackEnvelope
ShowInMixer
Track control panel visible in mixer.
*mut bool
Do not use on master track.
ShowInTcp
Track control panel visible in arrange view.
*mut bool
Do not use on master track.
MainSend
Track sends audio to parent.
*mut bool
MainSendOffs
Channel offset of track send to parent.
*mut char
FreeMode
BeatAttachMode
Track timebase.
*mut char
- -1 → project default
- 0 → time
- 1 → beats (position, length, rate)
- 2 → beats (position only)
McpFxSendScale
Scale of FX and send area in MCP.
*mut f32
- 0 → minimum allowed
- 1 → maximum allowed
McpSendRgnScale
Scale of send area as proportion of the FX and send total area.
*mut f32
- 0 → minimum allowed
- 1 → maximum allowed
PlayOffsetFlag
Track playback offset state.
*mut i32
- &1 → bypassed
- &2 → offset
Value is measured in samples (otherwise measured in seconds).
PlayOffset
Custom(Cow<'a, ReaperStr>)
If a variant is missing in this enum, you can use this custom one as a resort.
Use custom()
to create this variant.
Implementations
sourceimpl<'a> TrackAttributeKey<'a>
impl<'a> TrackAttributeKey<'a>
sourcepub fn ext(key: impl Into<ReaperStringArg<'a>>) -> TrackAttributeKey<'a>
pub fn ext(key: impl Into<ReaperStringArg<'a>>) -> TrackAttributeKey<'a>
Convenience function for creating an Ext
key.
sourcepub fn custom(key: impl Into<ReaperStringArg<'a>>) -> TrackAttributeKey<'a>
pub fn custom(key: impl Into<ReaperStringArg<'a>>) -> TrackAttributeKey<'a>
Convenience function for creating a Custom
key.
Trait Implementations
sourceimpl<'a> Clone for TrackAttributeKey<'a>
impl<'a> Clone for TrackAttributeKey<'a>
sourcefn clone(&self) -> TrackAttributeKey<'a>
fn clone(&self) -> TrackAttributeKey<'a>
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl<'a> Debug for TrackAttributeKey<'a>
impl<'a> Debug for TrackAttributeKey<'a>
sourceimpl<'a> Hash for TrackAttributeKey<'a>
impl<'a> Hash for TrackAttributeKey<'a>
sourceimpl<'a> PartialEq<TrackAttributeKey<'a>> for TrackAttributeKey<'a>
impl<'a> PartialEq<TrackAttributeKey<'a>> for TrackAttributeKey<'a>
sourcefn eq(&self, other: &TrackAttributeKey<'a>) -> bool
fn eq(&self, other: &TrackAttributeKey<'a>) -> bool
impl<'a> Eq for TrackAttributeKey<'a>
impl<'a> StructuralEq for TrackAttributeKey<'a>
impl<'a> StructuralPartialEq for TrackAttributeKey<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for TrackAttributeKey<'a>
impl<'a> Send for TrackAttributeKey<'a>
impl<'a> Sync for TrackAttributeKey<'a>
impl<'a> Unpin for TrackAttributeKey<'a>
impl<'a> UnwindSafe for TrackAttributeKey<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read moresourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more