Source code for reapy.core.track.automation_item

from reapy import reascript_api as RPR
from reapy.core import ReapyObject


[docs]class AutomationItem(ReapyObject): _class_name = "AutomationItem" def __init__(self, envelope=None, index=0, envelope_id=None): if envelope is not None: envelope_id = envelope.id self.envelope_id = envelope_id self.index = index @property def _kwargs(self): return {"index": self.index, "envelope_id": self.envelope_id}
[docs] def delete_points_in_range(self, start, end): """ Delete points between `start` and `end`. Parameters ---------- start : float Range start in seconds. end : float Range end in seconds. """ RPR.DeleteEnvelopePointRangeEx( self.envelope_id, self.index, start, end )
@property def length(self): """ Return item length in seconds. Returns ------- length : float Item length in seconds. """ length = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_LENGTH", 0, False ) return length @length.setter def length(self, length): """ Set item length. Parameters ---------- length : float New item length in seconds. """ success = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_LENGTH", length, True ) @property def n_points(self): """ Return number of automation points in item. Returns ------- n_points : int Number of automation points in item. """ n_points = RPR.CountEnvelopePointsEx(self.envelope_id, self.index) return n_points @property def pool(self): """ Return item pool. Returns ------- pool : int Item pool. """ pool = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_POOL", 0, False ) return pool @pool.setter def pool(self, pool): """ Set item pool. Parameters ---------- pool : int New item pool. """ success = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_POOL", pool, True ) @property def position(self): """ Return item position in seconds. Returns ------- position : float Item position in seconds. """ position = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_POSITION", 0, False ) return position @position.setter def position(self, position): """ Set item position. Parameters ---------- position : float New item position in seconds. """ success = RPR.GetSetAutomationItemInfo( self.envelope_id, self.index, "D_POSITION", position, True )