TheAcharya / MarkersExtractor

Extract Markers from Final Cut Pro FCPXML
MIT License
38 stars 2 forks source link

`RolesExtractor.extract()` does not list the roles correctly #88

Closed IAmVigneswaran closed 7 months ago

IAmVigneswaran commented 10 months ago

On our latest build of Marker Data, when drag and drop timeline into Roles Workflow Extension, it does not list the roles correctly.

https://github.com/TheAcharya/MarkerData/issues/21#issuecomment-1914549540

orchetect commented 10 months ago

I need the FCP project for this.

IAmVigneswaran commented 10 months ago

I need the FCP project for this.

Here is the test project.

Test.fcpbundle.zip

Thank you.

IAmVigneswaran commented 10 months ago

Related with #90

For Audio only timeline, the extract Video Role is shown. Maybe like #91, we can keep Video Role & Subrole empty where there no assign or not applicable

audio-only-01

Also, I noticed that the Effect Roles is not shown correctly.

orchetect commented 7 months ago

Found the culprit - there was a bug in the FCPXML parser when reading the role attribute from title elements and it was reading the wrong attribute.

Roles extraction should work correctly now.

orchetect commented 7 months ago

I haven't tested an audio-only timeline yet.

re: Effects, I don't know what's going on there. I processed a large project that had the role and it was parsed out as Effects.Effects-1 in today's build of Marker Data.

md-effects

fcp-effects

IAmVigneswaran commented 7 months ago

I haven't tested an audio-only timeline yet.

Audio Only_01.fcpxmld.zip

Here is a sample timeline for your test.

I think Effects.Effects-1 is normal.

orchetect commented 7 months ago

Audio Only_01.fcpxmld.zip

btw, FCP refused to import this file saying it failed the DTD check. I had to open it in a text editor and fix a modDate attribute value which contained some odd characters.

I noticed that FCP shows the Effects role as Effects-1 for this project, but the XML itself only contains "effects" as the audio role name. I think FCP is using shorthand for some built-in roles knowing that it auto-generates the implicit -1 role in this case, instead of actually writing effects.effects-1 to the XML. This definitely complicates things if we want to try and mirror what FCP is showing. But functionally it should still work since at least it can be used to filter roles.

<asset-clip ref="r2" offset="0s" name="Forest Day" duration="1550549/24000s" audioRole="effects">

Whereas some so-called default roles are written in full to the XML:

<audio-channel-source srcCh="1, 2" role="music.music-1"/>
orchetect commented 7 months ago

For Audio only timeline, the extract Video Role is shown

Ok this is now fixed in DAWFileKit. It was erroneously injecting the Video role automatically for asset-clips but shouldn't now.

Fix will be in 0.3.5.

IAmVigneswaran commented 7 months ago

Seems like the issue still persist. For some reason, video role is not listed?

Here is the FCPXML.

Roles Demo.fcpxmld.zip

Roles-Bugs
IAmVigneswaran commented 7 months ago

My bad!

I realise that the "Video" role can only be shown when the clips on are assign a video Role. When video Role is not assigned, it is defaults to the Dialogue Role. Which is the correct behaviour.

Roles-Test