Evgeny Malcev
Forum Replies Created
-
Evgeny Malcev
March 11, 2016 at 8:12 pm in reply to: Export Markers (Solved until Adobe provides something better)Sorry. I do not have Premiere CS6 anymore. And therefore can not help You to parse its project. But I think it will be not so easy.
-
Dont know about CS6, but Premiere CC understands XMP with P2 files.
I made a script on autohotkey.
Just run it, select folder with P2 structure.
Script will parse it for XML and creates XMP.
https://pastebin.com/9aPtP6Wq -
Evgeny Malcev
March 7, 2014 at 5:11 am in reply to: Export Markers (Solved until Adobe provides something better)I have updated my AHK script which parses CS6 project file and exports markers to the text file.
Just modify the first 3 lines with your data.
https://f1.creativecow.net/file/7205/7205_markerscs6.ahk.zip -
Evgeny Malcev
March 6, 2014 at 10:44 am in reply to: Export Markers (Solved until Adobe provides something better)Version of the AHK script which parses CC project and exports markers to the text file.
1) Change extension of project file from pproj to zip.
2) Extract it.
3) Modify the first 3 lines with your path of extracted project, name of sequence and name of exported txt.
https://f1.creativecow.net/file/7204/7204_markerscc.ahk.zip -
Evgeny Malcev
March 2, 2014 at 1:15 pm in reply to: Export Markers (Solved until Adobe provides something better)My version of the AHK script which parses CS6 project and exports markers to the text file.
Just modify the first 3 lines with your path of project, name of sequence and name of exported txt.
https://f1.creativecow.net/file/7180/7180_markerscs6.ahk.zip -
Evgeny Malcev
July 5, 2013 at 2:42 pm in reply to: Export Markers (Solved until Adobe provides something better)Just save it as ahk.
Then modify first 3 lines with your data.
ProjectFile = C:\fin33.prproj
SequenceName = sequence 01
MarkerListFile = E:\1.txt ; will be deleted and recreated after script starts.
Then start this script and you will get text file with markers.
https://f1.creativecow.net/file/6233/6233_markers.ahk.zip -
Are You sure?
Where I can get info about it?
Because, as I know Premiere does not recompress dv video. -
Evgeny Malcev
November 18, 2012 at 1:34 pm in reply to: Export Markers (Solved until Adobe provides something better)I have written sxript which read your project file and creates text document with markers.
ProjectFile = C:\fin33.prproj
SequenceName = sequence 01
MarkerListFile = E:\1.txt ; will be deleted and recreated after script startsSetBatchLines, -1
k = 1
n = 1FileRead, Contents, %ProjectFile%
StringGetPos, out, Contents, <Name>%SequenceName%</Name>
if out = -1
{
msgbox, Sequence with this name does not exist!
ExitApp
}Loop, read, %ProjectFile%
{
if n = 1
{
IfNotInString, A_LoopReadLine, <Sequence ObjectUID, continue
n = 2
}if n = 2
{
IfNotInString, A_LoopReadLine, <Second ObjectRef, continue
Variable := trim(A_LoopReadLine)
NewVar := RegExReplace(Variable, "\D")
FrameRateObjectRef := "<VideoTrackGroup ObjectID=""" NewVar """"
n = 3
}if n = 3
{
IfNotInString, A_LoopReadLine, <Name>%SequenceName%</Name>
{
IfNotInString, A_LoopReadLine, </Sequence>, continue
n = 1
}
Else
{
n = 1
break
}
}
}Loop, read, %ProjectFile%
{
if n = 1
{
IfNotInString, A_LoopReadLine, %FrameRateObjectRef%, continue
n = 2
}if n = 2
{
IfNotInString, A_LoopReadLine, <FrameRate>, continue
FrameRate := trim(RegExReplace(A_LoopReadLine, "<FrameRate>(.+)</FrameRate>", "$1"))
n = 1
break
}
}If FrameRate = 10160640000 ; 25fps
{
delimeter= :
i = 0
fps = 25
FramesInOneHour = 90000
FramesInOneMinute = 1500
}If FrameRate = 10594584000 ; 24fps
{
delimeter= :
i = 0
fps = 24
FramesInOneHour = 86400
FramesInOneMinute = 1440
}If FrameRate = 5080320000 ; 50fps
{
delimeter= :
i = 0
fps = 50
FramesInOneHour = 180000
FramesInOneMinute = 3000
}If FrameRate = 8475667200 ; 29.97fps
{
delimeter=;
i = 2
fps = 30
FramesInOneHour = 108000
FramesInOneMinute = 1800
}If FrameRate = 4237833600 ; 59.94fps
{
delimeter=;
i = 4
fps = 60
FramesInOneHour = 216000
FramesInOneMinute = 3600
}Loop, read, %ProjectFile%
{
if n = 1
{
IfNotInString, A_LoopReadLine, <Sequence ObjectUID, continue
n = 2
}if n = 2
{
IfNotInString, A_LoopReadLine, <Markers ObjectRef, continue
Variable := trim(A_LoopReadLine)
NewVar := RegExReplace(Variable, "\D")
MarkersObjectRef := "<Markers ObjectID=""" NewVar """"
n = 3
}if n = 3
{
IfNotInString, A_LoopReadLine, <Name>%SequenceName%</Name>
{
IfNotInString, A_LoopReadLine, </Sequence>, continue
n = 1
}
Else
{
n = 0
break
}
}
}Loop, read, %ProjectFile%
{
if n = 0
{
IfNotInString, A_LoopReadLine, %MarkersObjectRef%, continue
n = 1
}if n = 1
{
IfNotInString, A_LoopReadLine, "a45508e0-3ff7-4d04-90a7-2e0dfff4c910"
{
IfNotInString, A_LoopReadLine, </DVDMarkers>, continue
break
}
Else
{
a1 := "Marker " k "`n"
n = 2
}
}if n = 2
{
IfNotInString, A_LoopReadLine, <Comments>, continue
Comments := trim(RegExReplace(A_LoopReadLine, "<Comments>(.+)</Comments>", "$1"))
a2 := "Comment: " Comments "`n"
If Comments = <Comments></Comments>
a2 =
n = 3
}if n = 3
{
IfNotInString, A_LoopReadLine, <Duration>, continue
Duration := trim(RegExReplace(A_LoopReadLine, "<Duration>(.+)</Duration>", "$1"))
framecount := Floor(Duration / FrameRate)
framecount := framecount + floor(framecount / FramesInOneMinute)*i - floor(framecount / FramesInOneMinute / 10)*i
TC1 = % floor(framecount/FramesInOneHour)
TC2 = % floor((framecount - TC1*FramesInOneHour) / FramesInOneMinute)
TC3 = % floor((framecount - TC1*FramesInOneHour - TC2*FramesInOneMinute) /fps)
TC4 = % floor(framecount - TC1*FramesInOneHour - TC2*FramesInOneMinute - TC3*fps )
SetFormat, Float, 02.0
Loop, 4
TC%A_Index% += 0.0
a3 := "Duration: " TC1 delimeter TC2 delimeter TC3 delimeter TC4 "`n"
n = 4
}if n = 4
{
IfNotInString, A_LoopReadLine, <Time>, continue
Time := trim(RegExReplace(A_LoopReadLine, "<Time>(.+)</Time>", "$1"))
framecount := Floor(Time / FrameRate)
framecount := framecount + floor(framecount / FramesInOneMinute)*i - floor(framecount / FramesInOneMinute / 10)*i
TC1 = % floor(framecount/FramesInOneHour)
TC2 = % floor((framecount - TC1*FramesInOneHour) / FramesInOneMinute)
TC3 = % floor((framecount - TC1*FramesInOneHour - TC2*FramesInOneMinute) /fps)
TC4 = % floor(framecount - TC1*FramesInOneHour - TC2*FramesInOneMinute - TC3*fps )
SetFormat, Float, 02.0
Loop, 4
TC%A_Index% += 0.0
a4 := "Timecode: " TC1 delimeter TC2 delimeter TC3 delimeter TC4 "`n"
n = 5
}if n = 5
{
IfNotInString, A_LoopReadLine, <ML.Marker.TextName>
{
IfNotInString, A_LoopReadLine, <Name>, continue
Number := trim(RegExReplace(A_LoopReadLine, "<Name>(.+)</Name>", "$1"))
a6 := "Number: " Number "`n"
If Number = <Name></Name>
a6 =
n = 1
}
Else
{
TextName := trim(RegExReplace(A_LoopReadLine, "<ML.Marker.TextName>(.+)</ML.Marker.TextName>", "$1"))
a5 := "TextName: " TextName "`n"
n = 6
}
}if n = 6
{
IfNotInString, A_LoopReadLine, <Name>, continue
Number := trim(RegExReplace(A_LoopReadLine, "<Name>(.+)</Name>", "$1"))
a6 := "Number: " Number "`n"
If Number = <Name></Name>
a6 =
n = 1
}
k := k + 1
MarkerList .= a1 a2 a3 a4 a5 a6 "`n"
}
FileDelete, %MarkerListFile%
FileAppend, % MarkerList, %MarkerListFile%, UTF-8
Msgbox, Done
ExitApp