mirror of
https://github.com/iluvcapra/ptulsconv.git
synced 2025-12-31 00:40:49 +00:00
Create Export Items as Text.py
This commit is contained in:
62
reaper/Export Items as Text.py
Normal file
62
reaper/Export Items as Text.py
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Export Items as Text.py
|
||||||
|
# (c) 2021 Jamie Hardt. All rights reserved.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os.path
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
item_records = list()
|
||||||
|
|
||||||
|
for i in range(0, RPR_CountMediaItems(0) ):
|
||||||
|
this_item = RPR_GetMediaItem(0, i)
|
||||||
|
|
||||||
|
item_record = {}
|
||||||
|
item_record["mute"] = True if RPR_GetMediaItemInfo_Value(this_item, "B_MUTE_ACTUAL") > 0. else False
|
||||||
|
|
||||||
|
item_record["duration"] = RPR_GetMediaItemInfo_Value(this_item, "D_LENGTH")
|
||||||
|
_, item_record["duration_tc"], _, _, _ = RPR_format_timestr_len(item_record["duration"], "", 128, 0., 5)
|
||||||
|
|
||||||
|
item_record["position"] = RPR_GetMediaItemInfo_Value(this_item, "D_POSITION")
|
||||||
|
_, item_record["position_tc"], _, _ = RPR_format_timestr_pos(item_record["position"], "", 128, 5)
|
||||||
|
|
||||||
|
item_record["selected"] = True if RPR_GetMediaItemInfo_Value(this_item, "B_UISEL") > 0. else False
|
||||||
|
_, _, _, item_record["notes"], _ = RPR_GetSetMediaItemInfo_String(this_item, "P_NOTES", "", False)
|
||||||
|
_, _, _, item_record["item_guid"], _ = RPR_GetSetMediaItemInfo_String(this_item, "GUID", "", False)
|
||||||
|
|
||||||
|
active_take = RPR_GetActiveTake(this_item)
|
||||||
|
_, _, _, item_record["active_take_name"], _ = RPR_GetSetMediaItemTakeInfo_String(active_take, "P_NAME", "", False)
|
||||||
|
_, _, _, item_record["active_take_guid"], _ = RPR_GetSetMediaItemTakeInfo_String(active_take, "GUID", "", False)
|
||||||
|
|
||||||
|
item_track = RPR_GetMediaItemTrack(this_item)
|
||||||
|
_, _, _, item_record["track_name"], _ = RPR_GetSetMediaTrackInfo_String(item_track, "P_NAME", "", False)
|
||||||
|
_, _, _, item_record["track_guid"], _ = RPR_GetSetMediaTrackInfo_String(item_track, "GUID", "", False)
|
||||||
|
item_record["track_index"] = RPR_GetMediaTrackInfo_Value(item_track, "IP_TRACKNUMBER")
|
||||||
|
item_record["track_muted"] = True if RPR_GetMediaTrackInfo_Value(item_track, "B_MUTE") > 0. else False
|
||||||
|
|
||||||
|
item_records = item_records + [item_record]
|
||||||
|
|
||||||
|
output = dict()
|
||||||
|
output["items"] = item_records
|
||||||
|
_, output["project_title"], _ = RPR_GetProjectName(0, "", 1024)
|
||||||
|
_, _, output["project_author"], _ = RPR_GetSetProjectAuthor(0, False, "", 1024)
|
||||||
|
output["project_frame_rate"], _, output["project_drop_frame"] = RPR_TimeMap_curFrameRate(0, True)
|
||||||
|
|
||||||
|
output_path, _ = RPR_GetProjectPath("", 1024)
|
||||||
|
|
||||||
|
now = datetime.datetime.now()
|
||||||
|
output_title = output["project_title"]
|
||||||
|
|
||||||
|
if output_title == "":
|
||||||
|
output_title = "unsaved project"
|
||||||
|
|
||||||
|
output_file_name = "%s Text Export %s.txt" % (output_title, now.strftime('%Y%m%d_%H%M'))
|
||||||
|
output_path = output_path + "/" + output_file_name
|
||||||
|
|
||||||
|
with open(output_path, "w") as f:
|
||||||
|
json.dump(output, f, allow_nan=True, indent=4)
|
||||||
|
|
||||||
|
RPR_ShowMessageBox("Exported text file \"%s\" to project folder." % output_file_name, "Text Export Complete", 0)
|
||||||
|
|
||||||
|
#RPR_ShowConsoleMsg(output_path)
|
||||||
Reference in New Issue
Block a user