RPR GetMediaItemTake

From CockosWiki

(Difference between revisions)
Jump to: navigation, search
(Undo revision 13261 by Ucokane (Talk))
 
Line 1: Line 1:
-
----
 
-
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 
-
----
 
-
=[http://uvetysudema.co.cc UNDER COSTRUCTION, PLEASE SEE THIS POST IN RESERVE COPY]=
 
-
----
 
-
=[http://uvetysudema.co.cc CLICK HERE]=
 
-
----
 
-
</div>
 
{{API_Doc_Header}}
{{API_Doc_Header}}
=GetMediaItemTake()=
=GetMediaItemTake()=
Line 19: Line 11:
==Examples==
==Examples==
===C++===
===C++===
-
&lt;source lang=cpp&gt;
+
<source lang=cpp>
-
&lt;/source&gt;
+
</source>
===Perl===
===Perl===
-
&lt;source lang=perl&gt;
+
<source lang=perl>
#
#
# GetMediaItemTake.pl
# GetMediaItemTake.pl
Line 30: Line 22:
use warnings;
use warnings;
-
use constant CURR_PROJ =&gt; 0;
+
use constant CURR_PROJ => 0;
-
use constant FIRST_SEL_ITEM =&gt; 0;
+
use constant FIRST_SEL_ITEM => 0;
-
use constant FIRST_TAKE =&gt; 0;
+
use constant FIRST_TAKE => 0;
# Get the first selected media item in the current project
# Get the first selected media item in the current project
Line 39: Line 31:
# and now the take in that item
# and now the take in that item
my $take = RPR_GetMediaItemTake($it, FIRST_TAKE);
my $take = RPR_GetMediaItemTake($it, FIRST_TAKE);
-
&lt;/source&gt;
+
</source>
===Python===
===Python===
-
&lt;source lang=python&gt;
+
<source lang=python>
# clean_take_names.py
# clean_take_names.py
# use at your own risk etc etc
# use at your own risk etc etc
# Modify these to suit your needs
# Modify these to suit your needs
-
suffix_list = [&quot;.aif&quot;, &quot;.aiff&quot;, &quot;.bwf&quot;, &quot;.flac&quot;, &quot;.kar&quot;, &quot;.mid&quot;, &quot;.mp2&quot;, &quot;.mp3&quot;, &quot;.ogg&quot;, &quot;.wav&quot;, &quot;.w64&quot;]
+
suffix_list = [".aif", ".aiff", ".bwf", ".flac", ".kar", ".mid", ".mp2", ".mp3", ".ogg", ".wav", ".w64"]
-
prefix_list = [&quot;*&quot;]
+
prefix_list = ["*"]
clean_white_space = True
clean_white_space = True
Verbose = True
Verbose = True
def clean_name(name, check_list, suffix = True):
def clean_name(name, check_list, suffix = True):
-
     New_Name = &quot;&quot;
+
     New_Name = ""
     lower_name = name.lower() # handle all cases
     lower_name = name.lower() # handle all cases
     for item in check_list:
     for item in check_list:
Line 72: Line 64:
Found = 0
Found = 0
if Verbose:
if Verbose:
-
     RPR_ShowConsoleMsg(&quot;Checking {0} item(s)\n&quot;.format(Item_Count))
+
     RPR_ShowConsoleMsg("Checking {0} item(s)\n".format(Item_Count))
-
while Item_Index &lt; Item_Count: ###############################################
+
while Item_Index < Item_Count: ###############################################
     Item_ID = RPR_GetMediaItem(0, Item_Index)
     Item_ID = RPR_GetMediaItem(0, Item_Index)
-
     Current_Take = RPR_GetMediaItemInfo_Value(Item_ID, &quot;I_CURTAKE&quot;) # Get active take index for current item
+
     Current_Take = RPR_GetMediaItemInfo_Value(Item_ID, "I_CURTAKE") # Get active take index for current item
     Take_ID = RPR_GetMediaItemTake(Item_ID, int(Current_Take));  
     Take_ID = RPR_GetMediaItemTake(Item_ID, int(Current_Take));  
-
     Take_Name = RPR_GetSetMediaItemTakeInfo_String(Take_ID, &quot;P_NAME&quot;, &quot;&quot;, 0)[3] # Get active take name
+
     Take_Name = RPR_GetSetMediaItemTakeInfo_String(Take_ID, "P_NAME", "", 0)[3] # Get active take name
     Old_Name = Take_Name
     Old_Name = Take_Name
     (removed_suffix, Take_Name) = clean_name(Take_Name, suffix_list, suffix = True)
     (removed_suffix, Take_Name) = clean_name(Take_Name, suffix_list, suffix = True)
Line 91: Line 83:
     if removed_suffix or removed_prefix or removed_white_space: # Rename active take if changed
     if removed_suffix or removed_prefix or removed_white_space: # Rename active take if changed
         Found = Found + 1
         Found = Found + 1
-
         RPR_GetSetMediaItemTakeInfo_String(Take_ID, &quot;P_NAME&quot;, Take_Name, 1)  
+
         RPR_GetSetMediaItemTakeInfo_String(Take_ID, "P_NAME", Take_Name, 1)  
         if Verbose:
         if Verbose:
-
             Msg = &quot;Item {0} of {1}: Converted '{2}' to '{3}'\n&quot;.format(Item_Index + 1, Item_Count, Old_Name, Take_Name)
+
             Msg = "Item {0} of {1}: Converted '{2}' to '{3}'\n".format(Item_Index + 1, Item_Count, Old_Name, Take_Name)
             RPR_ShowConsoleMsg(Msg)
             RPR_ShowConsoleMsg(Msg)
     Item_Index = Item_Index + 1;
     Item_Index = Item_Index + 1;
if Verbose:
if Verbose:
-
     RPR_ShowConsoleMsg(str(Found) + &quot; item(s) cleaned\n&quot;)
+
     RPR_ShowConsoleMsg(str(Found) + " item(s) cleaned\n")
-
&lt;/source&gt;
+
</source>
==See Also==
==See Also==

Latest revision as of 00:01, 25 November 2010

Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR GetMediaItemTake
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR GetMediaItemTake

Contents

GetMediaItemTake()

MediaItem_Take* GetMediaItemTake(MediaItem* item, int tk)

Gets a specified take from a specified Media Item

Parameters

MediaItem* item - the specified Media Item
int tk - the specified take, 0 = first take

Returns

MediaItem_Take*

Examples

C++

 

Perl

#
# GetMediaItemTake.pl
#
 
use strict;
use warnings;
 
use constant CURR_PROJ => 0;
use constant FIRST_SEL_ITEM => 0;
use constant FIRST_TAKE => 0;
 
# Get the first selected media item in the current project
my $it = RPR_GetSelectedMediaItem(CURR_PROJ,FIRST_SEL_ITEM);
 
# and now the take in that item
my $take = RPR_GetMediaItemTake($it, FIRST_TAKE);

Python

# clean_take_names.py
# use at your own risk etc etc
 
# Modify these to suit your needs
suffix_list = [".aif", ".aiff", ".bwf", ".flac", ".kar", ".mid", ".mp2", ".mp3", ".ogg", ".wav", ".w64"]
prefix_list = ["*"]
clean_white_space = True
Verbose = True
 
def clean_name(name, check_list, suffix = True):
    New_Name = ""
    lower_name = name.lower() # handle all cases
    for item in check_list:
        if suffix:
            if lower_name.endswith(item):
                New_Name = name[:-len(item)]
                return (True, New_Name)
        else:
            if lower_name.startswith(item):
                New_Name = name[len(item):]
                return (True, New_Name)
    return (False, name)
 
# Get number of media items in current project
Item_Count = RPR_CountMediaItems(0)
# Scan each item in project
Item_Index = 0
Found = 0
if Verbose:
    RPR_ShowConsoleMsg("Checking {0} item(s)\n".format(Item_Count))
 
while Item_Index < Item_Count: ###############################################
    Item_ID = RPR_GetMediaItem(0, Item_Index)
    Current_Take = RPR_GetMediaItemInfo_Value(Item_ID, "I_CURTAKE") # Get active take index for current item
    Take_ID = RPR_GetMediaItemTake(Item_ID, int(Current_Take)); 
    Take_Name = RPR_GetSetMediaItemTakeInfo_String(Take_ID, "P_NAME", "", 0)[3] # Get active take name
    Old_Name = Take_Name
    (removed_suffix, Take_Name) = clean_name(Take_Name, suffix_list, suffix = True)
    (removed_prefix, Take_Name) = clean_name(Take_Name, prefix_list, suffix = False)
    removed_white_space = False
    if clean_white_space:
        New_Name = Take_Name.strip()
        if len(New_Name) != len(Take_Name):
            Take_Name = New_Name
            removed_white_space = True
 
    if removed_suffix or removed_prefix or removed_white_space: # Rename active take if changed
        Found = Found + 1
        RPR_GetSetMediaItemTakeInfo_String(Take_ID, "P_NAME", Take_Name, 1) 
        if Verbose:
            Msg = "Item {0} of {1}: Converted '{2}' to '{3}'\n".format(Item_Index + 1, Item_Count, Old_Name, Take_Name)
            RPR_ShowConsoleMsg(Msg)
    Item_Index = Item_Index + 1;
 
if Verbose:
    RPR_ShowConsoleMsg(str(Found) + " item(s) cleaned\n")

See Also

item: AddMediaItemToTrack, AddTakeToMediaItem, GetTrackMediaItem, GetTrackNumMediaItems, CountMediaItems, CountSelectedMediaItems, GetItemProjectContext, SetMediaItemInfo_Value, CountTrackMediaItems, SetMediaItemTakeInfo_Value, GetMediaItem, GetMediaItem_Track, GetMediaItemInfo_Value, GetMediaItemNumTakes, GetMediaItemTake, GetMediaItemTake_Item, GetMediaItemTake_Source, GetMediaItemTake_Track, GetMediaItemTakeInfo_Value, SplitMediaItem, MoveMediaItemToTrack, GetSelectedMediaItem, DeleteTrackMediaItem, GetSetItemState, GetSetMediaItemTakeInfo_String, Undo_OnStateChange_Item, UpdateItemInProject,

take: GetActiveTake, GetMediaItemNumTakes, GetMediaItemTake, GetMediaItemTakeInfo_Value, GetMediaItemTake_Item, GetMediaItemTake_Source, GetMediaItemTake_Track, GetSetMediaItemTakeInfo_String, GetTake, GetTakeEnvelopeByName, SetMediaItemTakeInfo_Value, AddTakeToMediaItem, CountTakes,

(Section automatically generated, edits may be overwritten.)

Stuff

Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR GetMediaItemTake
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR GetMediaItemTake

Personal tools