def add_item(self, start=0, end=None, length=0): """ Create new item on track and return it. Parameters ---------- start : float, optional New item start in seconds (default=0). end : float, optional New item end in seconds (default None). If None, `length` is used instead. length : float, optional New item length in seconds (default 0). Returns ------- item : Item New item on track. """ if end is None: end = start + length item = reapy.Item(RPR.AddMediaItemToTrack(self.id)) item.position = start item.length = end - start return item
def item(self): """ Parent item. :type: Item """ return reapy.Item(RPR.GetMediaItemTake_Item(self.id))
def selected_items(self): """ List of all selected items. :type: list of Item See also -------- Project.get_selected_item Return a specific selected item. """ return [ reapy.Item(RPR.GetSelectedMediaItem(self.id, i)) for i in range(self.n_selected_items) ]
def items(self): """ List of items on track. :type: list of Item """ code = """ n_items = RPR.CountTrackMediaItems(track_id) item_ids = [ RPR.GetTrackMediaItem(track_id, i) for i in range(n_items) ] """ item_ids = Program(code, "item_ids").run(track_id=self.id)[0] items = [reapy.Item(item_id) for item_id in item_ids] return items
def get_selected_item(self, index): """ Return index-th selected item. Parameters ---------- index : int Item index. Returns ------- item : Item index-th selected item. """ item_id = RPR.GetSelectedMediaItem(self.id, index) item = reapy.Item(item_id) return item
def add_midi_item(self, start=0, end=1, quantize=False): """ Add empty MIDI item to track and return it. Parameters ---------- start : float, optional New item start in seconds (or beats if `quantize`=True). end : float, optional New item end in seconds (or beats if `quantize`=True). quantize : bool, optional Whether to count time in beats (True) or seconds (False, default). """ item_id = RPR.CreateNewMIDIItemInProj(self.id, start, end, quantize)[0] item = reapy.Item(item_id) return item