View Issue Details

IDProjectCategoryView StatusLast Update
0000318Cinelerra-GG[All Projects] Featurepublic2020-01-20 04:35
Reporter[email protected] Assigned Togoodguy  
PrioritynormalSeverityminorReproducibilityN/A
Status feedbackResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000318: Nested assets not as a copy but as a reference
DescriptionIs it possible to insert nested assets as reference and not as copy?
Inserting the XML-code dynamicly at rendering time.
Tagsnesting, reference, Rendering

Activities

PhyllisSmith

PhyllisSmith

2020-01-20 04:35

manager   ~0002730

Some improvements were checked into GIT today but nothing that needs testing. This includes:
- the Nested files are back to just being white as before; the color for Referenced files is retained so that it stands out from the rest
- the EDL strategy in the Load menu has better, more representative icons and the tooltips shortened
IgorBeg

IgorBeg

2020-01-19 14:48

reporter   ~0002721

Little tests for Nested as reference. And More is needed by me.

However, if you create a nest from Resources->Clip with "Next to Media" option, the text under the thumbnail is unreadable in SUV and Unflat theme due to the colour (circa #7028BF).
PhyllisSmith

PhyllisSmith

2020-01-17 04:46

manager  

Referenced_File.pdf (30,957 bytes)
PhyllisSmith

PhyllisSmith

2020-01-17 04:44

manager   ~0002702

Last edited: 2020-01-17 04:48

View 3 revisions

A pdf file is attached to explain usage (this will be added to the LaTeX manual soon). Because gg backed up his system the last couple of days, he was testing the builds so there are now a bunch of test STATIC TARs available for any testers who have time at:
   https://cinelerra-gg.org/download/testing/
builds for arch (not up to date), centos, debian9/10, fedora29-31, leap15/42, mint18/19, ubuntu14/16/18.
This is different than Nested EDLs. If you are using Nesting like before, it will continue to work like before.

Reminder that there are no guarantees in life.

uwe.bartelheimer@gmail.com

[email protected]

2020-01-12 08:22

reporter   ~0002682

For making the feature less dangerous the nested EDL (from an other project) may not be editable.
IgorBeg

IgorBeg

2020-01-08 12:54

reporter   ~0002655

Looking for the good Phyllis’ screencast.
From my point of view (user), that feature is really, really powerful and, at the same time, very, very dangerous. You can “destroy” a large number of projects with only a step. If you are running (with your hands) and you have to make a project quickly, you can wrong and do not see that the “EDL for reference” was enabled.

I think that a kind of Safe Mode, for that feature, is needed.
For example:
- showing the “EDL strategy” options only when “Create new resources only” is enabled?
(consider that in my usually workflow I only use “Replace current project” and “Create new resources only”. Never used the other options in “Load files” window.)
- And “EDL as Clip” is always selected every time “Load files” window is open (that is, never “EDL strategy is recorded”?

I think that it could help.
What are your ideas to avoid mistake for that, from user point of view?

PS:
It is a good idea to show the title of the media with a different color in Resources→Media when you load a file with “EDL as reference”.
PhyllisSmith

PhyllisSmith

2020-01-07 19:08

manager   ~0002648

@ All: having an EDL by reference code has been written and I am testing here locally, but I find it difficult to test different scenarios because it seems complicated to me and I get lost. Cinelerra's philosophy has always been to use copies and not direct reference -- since this is a change, it is recommended that EDL by reference should be considered advance usage and the user needs to be aware of what using this feature could do.

As IgorB says -- it is good and bad but if you construct usage like Pierre stated, it can be quite good. And it can be bad if you modify the referenced file and use it as a reference somewhere else as it will be modified everywhere. However, if you use that EDL file elsewhere NOT by reference, it will be a copy and not subject to modification changes in the original.

Short demo is at: https://streamable.com/w0m9n with the steps listed below and information to read later below steps.

Steps in the demo:
1) make a new credits file
2) load a project to the timeline and create an empty space
3) load the credits file as create resources only with EDL strategy as "EDL as reference"
4) note the color change in the filename and the reference comment in the Resources Media folder
5) drag the credits file to the timeline empty space
6) for convenience sake, Open EDL on the credits file and make changes - you must do a SAVE or changes will be lost
7) go back to original timeline by clicking on the 1 in the upper right hand corner of the timeline
8) note the changed credits and if you load any other project that had that file as a reference, it would be changed also.

Information:
- In File->Load file, the Insertion strategy was shortened to "Load strategy" and "Open as Nested" removed there.
- New "EDL strategy" added below Insertion strategy only in effect for EDLs, not media files.
- The BAD -- to avoid mistakes, you should always leave EDL strategy to "load EDL as Clip" to load as before
because if you leave it as "load EDL as reference" and it gets loaded that way, then that file is subject to
unknowlingly being changed.
- In the demo, I used a shortcut for saving the file once I made a change to the file by reference so you don't
see me do this and so I circled around the notice in the lower left hand corner of the timeline.

Note that you can edit the "credits_demo.xml" file any way and probably would not do that via the new "Open EDL" feature.

When code is finished and checked into GIT, gg will build static tars for Mint18, Ubuntu16, and Debian9 OR whatever else is requested as I do not know which O/S uwe.bartelheimer is using. We need better testers than me ; ) ; ) wink, wink!

+ @IgorB: in Note 2632 "about" concerning pipermail -- I have to study this some more, because I want to verify.
Pierre

Pierre

2020-01-03 14:42

updater   ~0002633

I like the idea that nested assets are references rather than copies. I think the purpose of this function is to be able to rework a smaller section of a global project (Master) at any time, which can be done by oneself or by an "assistant" and then this work is automatically reflected in the global master project.

I don't care if the original projects recovered as nested are permanently modified, because in these cases of recovering an old project in nested form, I would necessarily be working from a renamed copy of the .xls of the nested project.

These .xml files of the nested assets I would place them in the folder where I also keep the .xml files of the "Master" as well as all media files used by the project.

This grouping in a common folder is essential for me (even if it means having duplicate media files used in two different projects) because I often move the location or filing on my disks of the various projects I'm working on at any given time. Projects can be moved from disks in active work raid-0 to archive disks or to other computers and later be moved back to different paths. This way my .xml files never lose their synchronization with the path of the media they are using.
IgorBeg

IgorBeg

2020-01-03 10:59

reporter   ~0002632

The Uwe’s request, but also Deim’s request, is (was?) to insert nested assets as reference.
That is, I think they would like that a Master Project is already update with the subprojects changes.
You have 3 subprojects (that is 3 sequences); they are: seq1.xml, seq2.xml, seq3.xml.
And You want them in a Master Project: Master.xml.
In the “Master.xml” you load “seq1.xml”, “seq2.xml” “seq3.xml”.
Then You use Nest feature, now called “Nest to Media”, and insert them in the Timeline.
In the “Master.xml” timeline you do some cuts and effects, for example.
The day after you decide to modify the subproject “seq1.xml” changing, for example, a Title effect inside.
Now, I think, that Uwe and Deim (and other User) would like that the “Master.xml” were update automatically when the “Master.xml” is loaded, because the “seq1.xml” is linked and NOT embedded in the “Master.xml” project.
For me that is good and bad. Good, because you can work on a subproject (for example, seq1.xml) and the Master project (Master.xml) is always udate. Bad, because You must to pay attemption if you change a subproject and you do not want that a specific one Master project does not needed to be updated (and I don’t know how Cinelerra could handle the cuts already done there in Timeline with the Nested material).
But, in the last Cin release (20191231), with the new “Open EDL” feature, We can have some sequences inside a single project, and work on it.


About
4) Response to a concern from the quoted pipermail.

From https://lists.cinelerra-gg.org/pipermail/cin/2019-September/001055.html and it is dated September. A lot of water is passed under on the bridges. :-)
At that time, if you used Splice(V) button on the Viewer, it inserted in the Timeline the selected area in the Viewer with Autos and Effects BUT if you used Overwrite(B) button, it did not isert the Autos and Effects. In another Thread/Mantis_BT, I don’t remember, GG said You (and you told me) that it works correctly so, because Overwrite function by Viewer have not overwrite the Autos and Effects that are already there in the Timeline.
In the last Cin version (20191231), GG changed that behaviour.
Now We all must to use the Settings: “Edit effects” and “Keyframes follow edits”.
 
The complete sentence was…
************
*Notice:
If you don't use Nest feature for the Sequences (subprojects) imported.*
Your Master Project must have a number of tracks equal or more than the
subprojects.
In my "cin20190831_NestingSequencesInAMasterProject" screencast, you can
see that at the point 0000002, the second sub project (Sequence-02) contains
2 video tracks and 2 audio tracks.
So, in Master Project you must have at least 2 video tracks and 2audio
tracks (in my example).
More, you can not load the Sequence (clip) from Resources->Clips to the
Viewer, and from the Viewer to the Timeline otherwise you lose your
Autos/Effects (may be a bug, I don't know). But You can do that with
Nest feature.
************
uwe.bartelheimer@gmail.com

[email protected]

2020-01-02 05:39

reporter   ~0002629

I'll test the new "open EDL" and "close EDL" functions. Looks very interesting...
uwe.bartelheimer@gmail.com

[email protected]

2020-01-02 05:02

reporter   ~0002628

@ PhyllisSmith What you describe is the current use case from me. I have some sub projects with single scenes and one master project, where I put the scenes together including a credits project.
PhyllisSmith

PhyllisSmith

2020-01-01 19:40

manager   ~0002626

@uwe:
1) Assets not as a copy but as a reference by inserting xml dynamically at render time.
**** It always helps to understand what the use case is. I think we finally thought of one ourselves so this month GG is going to see if he can write code to get something to work. The use case is: you make a bunch of short videos and you want them all to have the same credits at the end with the current year. But then the year changes and all of the videos have last year's date on them or other information like your name changes -- you can just change the one xml file and then every time you render one of the videos, it will get the updated information.

@IgorB:
2) When you import your Sequences (subprojects) into the Master Project, the Sequences are copied in the Master Project: the xml (file project) code of the Sequence is joined with the xml of the Master. So, if you are working on a Master Project, where subprojects had been inserted, and then you change something to a subproject or delete a subproject, it doesn't change your Master Project: the Master Project is not in sync with the subprojects. That is good and bad.
**** The above is confirmed.

3) My questions about good and bad is
Case 1: Cinelerra-GG keep update the sequences in a Master Project. Consider that you have a Master Project with some nested sequences in one tracks. In that track, in the Master Project, you made several cuts in the nested sequences. Later you load a Sequence (subproject), usually like a project, and change something like some cuts and add some clips (and then they change the lenght of the final edit, sequence). When you re-load the Master project, Cinelerra-GG should update the sequences in the Timeline but you, previously, made, here and here, some cuts in the old Sequences in the Master Project.

My question is, how Cinelerra-GG may know as update on the timeline the update sequence, if I changed more things in the source sequence and in the (old) nested sequence?
**** I am having a little trouble understanding the above. Let's say the Master Project is called Master.xml.
Any changes you make to it and then save the project, no matter if you cut nested sequences or what you did,
are recorded so that when you reload Master.xml that is what you will see. I think the important point here is that the actual original Nested sequence asset in the Media folder of the Master.xml NEVER GETS CHANGED -- just like the original video asset never gets changed. If you load just a subproject called Subproject.xml that is just a different project and there is no connection with Master.xml and what was done there. If you
have a Subproject.xml that you added into Master.xml, and save it, then that is now just part of Master.xml but any previous changes you made to Subproject.xml will be in effect so that the Nested changes you made individually to each can possibly be different.

But of course, with the new use of "Open EDL" you CAN actually change the Nested sequence asset! and when you do, it will change it everywhere within the currently loaded project only (not in Subproject.xml that is not loaded).

4) Response to a concern from the quoted pipermail:
More, you can not load the Sequence (clip) from Resources->Clips to the Viewer, and from the Viewer to the Timeline otherwise you lose your Autos/Effects (may be a bug, I don't know).
**** I just tested making a clip that had an effect, dragging it to the Viewer and effect still there, then using the Copy icon in the Viewer and the Paste icon in the Timeline, and the effect is still there. It works for me but maybe you are doing something different?
PhyllisSmith

PhyllisSmith

2019-12-31 15:26

manager   ~0002618

@uwe - although this does not meet your requirements, we now have a very SAFE methodology available that may be an acceptable alternative, called "Open EDL". Cinelerra is very careful to never modify video media on the hard drive but instead to work with EDLs. There is a demo at: https://streamable.com/3k6wl . Usage is described in the attached pdf file and there may be a way to take advantage of the backup#.xml files to at least get closer to a workable solution.

@IgorB - we have not yet had time to evaluate your note/questions.

editing_edl.pdf (229,499 bytes)
uwe.bartelheimer@gmail.com

[email protected]

2019-12-31 15:05

reporter   ~0002617

I think it would be a possibility to have a checkbox to choose, whether you want to insert and merge the nested sub project or you want to insert a reference to the sub project
IgorBeg

IgorBeg

2019-12-24 17:34

reporter   ~0002601

Hi uwe and who read.

I would like to add something about Nesting I had already written in mailing lists.
https://lists.cinelerra-gg.org/pipermail/cin/2019-September/001055.html

When you import your Sequences (subprojects) into the Master Project,
the Sequences are copied in the Master Project: the xml (file project)
code of the Sequence is joined with the xml of the Master.
So, if you are working on a Master Project, where subprojects had been
inserted, and then you change something to a subproject or delete a
subproject, it doesn't change your Master Project: the Master Project is
not in sync with the subprojects. That is good and bad.

My questions about good and bad is…
Case 1: Cinelerra-GG keep update the sequences in a Master Project.
Consider that you have a Master Project with some nested sequences in one tracks.
In that track, in the Master Project, you made several cuts in the nested sequences.
Later you load a Sequence (subproject), usually like a project, and change something like some cuts and add some clips (and then they change the lenght of the final edit, sequence).
When you re-load the Master project, Cinelerra-GG should update the sequences in the Timeline but you, previously, made, there and here, some cuts in the old Sequences in the Master Project.

My question is, how Cinelerra-GG may know as update on the timeline the update sequence, if I changed more things in the source sequence and in the (old) nested sequence?

Issue History

Date Modified Username Field Change
2019-10-06 08:34 [email protected] New Issue
2019-10-06 08:34 [email protected] Tag Attached: nesting
2019-10-06 08:34 [email protected] Tag Attached: reference
2019-10-06 08:34 [email protected] Tag Attached: Rendering
2019-12-24 17:34 IgorBeg Note Added: 0002601
2019-12-31 15:05 [email protected] Note Added: 0002617
2019-12-31 15:26 PhyllisSmith File Added: editing_edl.pdf
2019-12-31 15:26 PhyllisSmith Note Added: 0002618
2020-01-01 19:40 PhyllisSmith Note Added: 0002626
2020-01-01 19:41 PhyllisSmith Assigned To => PhyllisSmith
2020-01-01 19:41 PhyllisSmith Status new => assigned
2020-01-01 19:41 PhyllisSmith Assigned To PhyllisSmith => goodguy
2020-01-02 05:02 [email protected] Note Added: 0002628
2020-01-02 05:39 [email protected] Note Added: 0002629
2020-01-03 10:59 IgorBeg Note Added: 0002632
2020-01-03 14:42 Pierre Note Added: 0002633
2020-01-07 19:08 PhyllisSmith Note Added: 0002648
2020-01-08 12:54 IgorBeg Note Added: 0002655
2020-01-12 08:22 [email protected] Note Added: 0002682
2020-01-17 04:44 PhyllisSmith Status assigned => feedback
2020-01-17 04:44 PhyllisSmith Note Added: 0002702
2020-01-17 04:46 PhyllisSmith Note Edited: 0002702 View Revisions
2020-01-17 04:46 PhyllisSmith File Added: Referenced_File.pdf
2020-01-17 04:48 PhyllisSmith Note Edited: 0002702 View Revisions
2020-01-19 14:48 IgorBeg Note Added: 0002721
2020-01-20 04:35 PhyllisSmith Note Added: 0002730