diff --git a/doc/devel/uml/class128005.html b/doc/devel/uml/class128005.html index fabe77cf9..524fbb0ac 100644 --- a/doc/devel/uml/class128005.html +++ b/doc/devel/uml/class128005.html @@ -19,7 +19,8 @@

Declaration :

Implementation class for the Session interface

Artifact : sessionimpl, Component(s) : Session

Relation edls (<directional aggregation by value>)

Declaration :

-
Relation fixture (<unidirectional association>)

Declaration :

+
Relation theFixture (<unidirectional association>)

Declaration :

+
Relation ports (<directional aggregation>)

Declaration :

the global ports (busses) of the session

All public operations : currEDL , getFixture

diff --git a/doc/devel/uml/class128133.html b/doc/devel/uml/class128133.html index cbf83e3ea..caa5c3e37 100644 --- a/doc/devel/uml/class128133.html +++ b/doc/devel/uml/class128133.html @@ -18,8 +18,8 @@

Declaration :

Directly inherited by : Fixture

Artifact : edl, Component(s) : Session

- -
Relation tracks (<directional aggregation by value>)

Declaration :

-
Relation clips (<directional aggregation>)

Declaration :

+ +
Relation clips (<directional aggregation>)

Declaration :

+
Relation track (<unidirectional association>)

Declaration :

diff --git a/doc/devel/uml/class128261.html b/doc/devel/uml/class128261.html index 9cb960678..0d8043e71 100644 --- a/doc/devel/uml/class128261.html +++ b/doc/devel/uml/class128261.html @@ -17,11 +17,11 @@

Declaration :

Artifact : fixture, Component(s) : Session

- -
Relation tracks (<directional aggregation by value>)

Declaration :

-
Relation timeline (<directional aggregation by value>)

Declaration :

+ +
Relation theTimeline (<directional aggregation by value>)

Declaration :

Operation getPlaylistForRender

Declaration :

-
Operation getAutomation

Declaration :

+
Operation getAutomation

Declaration :

+
Relation track (<unidirectional association>)

Declaration :

All public operations : getAutomation , getPlaylistForRender

diff --git a/doc/devel/uml/class128389.html b/doc/devel/uml/class128389.html index aeb25e07f..222aa9902 100644 --- a/doc/devel/uml/class128389.html +++ b/doc/devel/uml/class128389.html @@ -16,5 +16,9 @@ -

Declaration :

Artifact : track

+

Declaration :

Artifact : track, Diagram : Session structure

+ +
Relation subTracks (<directional aggregation by value>)

Declaration :

Child tracks in a tree structure

+

All public operations : apply , apply , dispatchOp

+ diff --git a/doc/devel/uml/class129157.html b/doc/devel/uml/class129157.html index fb8effd05..f4d84f14f 100644 --- a/doc/devel/uml/class129157.html +++ b/doc/devel/uml/class129157.html @@ -16,7 +16,7 @@ -

Declaration :

Directly inherited by : Auto Label

+

Declaration :

Directly inherited by : Auto Label Track

Artifact : meta

All public operations : apply , apply , dispatchOp

diff --git a/doc/devel/uml/class130053.html b/doc/devel/uml/class130053.html index 7df85e17a..a7a18ffb9 100644 --- a/doc/devel/uml/class130053.html +++ b/doc/devel/uml/class130053.html @@ -16,7 +16,8 @@ -

Declaration :

+

Declaration :

Directly inherited by : Plug

+

All public operations : get_repr

diff --git a/doc/devel/uml/class136965.html b/doc/devel/uml/class136965.html index d666bf3f2..a7c9937ee 100644 --- a/doc/devel/uml/class136965.html +++ b/doc/devel/uml/class136965.html @@ -16,7 +16,7 @@ -

Declaration :

Directly inherited by : OutPort ProcPatt Track

+

Declaration :

Directly inherited by : Port ProcPatt Track

key abstraction: structural asset

Artifact : struct

All public operations : enable , getDependant , getParents , isActive

diff --git a/doc/devel/uml/class137989.html b/doc/devel/uml/class137989.html index 6c5bf6158..5ee601cc6 100644 --- a/doc/devel/uml/class137989.html +++ b/doc/devel/uml/class137989.html @@ -17,8 +17,7 @@

Declaration :

structural asset holding the configuration of a track in the EDL

Artifact : track

- -
Relation wiringTemplate (<unidirectional association>)

Declaration :

+

All public operations : enable , getDependant , getParents , isActive

diff --git a/doc/devel/uml/class138117.html b/doc/devel/uml/class138117.html index 6b36b4366..a635bbfb4 100644 --- a/doc/devel/uml/class138117.html +++ b/doc/devel/uml/class138117.html @@ -4,20 +4,21 @@ -Class OutPort +Class Port -
Class OutPort
+
Class Port

-

Declaration :

structural asset corresponding to some port generating media output

Artifact : outport

-
+

Declaration :

structural asset corresponding to some port for building a processing chain and generating media output

Artifact : outport

+ +
Relation wiringTemplate (<unidirectional association>)

Declaration :

All public operations : enable , getDependant , getParents , isActive

diff --git a/doc/devel/uml/class140421.html b/doc/devel/uml/class140421.html new file mode 100644 index 000000000..9fefd2ebb --- /dev/null +++ b/doc/devel/uml/class140421.html @@ -0,0 +1,24 @@ + + + + + + +Class Plug + + + + + +
Class Plug
+

+ + + + +

Declaration :

+ +
Relation outPort (<unidirectional association>)

Declaration :

the Port this MObject wants to be conected to

+

All public operations : get_repr

+ + diff --git a/doc/devel/uml/classes.html b/doc/devel/uml/classes.html index a411e8c2e..861c332cc 100644 --- a/doc/devel/uml/classes.html +++ b/doc/devel/uml/classes.html @@ -88,12 +88,13 @@ MObjectinterface MutexI provided a reworked Mutex class in my cinelerra2 repository NodeCreatorToolThis Tool implementation plays the central role in the buld process: given a MObject from Session, it is able to attach ProcNodes to the render engine under construction such as to reflect the properties of the MObject in the actual render. -OutPortstructural asset corresponding to some port generating media output ParameterDescriptor and access object for a plugin parameter. Parameters may be provided with values from the session, and this values may be automated. ParamProviderinterfaceA facility to get the actual value of a plugin/effect parameter PathManagerWhile building a render engine, this Strategy class decides on the actual render strategy in accordance to the current controller settings (system state) Placementinterfaceused to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
Placement at the same time acts as (refcounting) smart pointer for accessing the MObject. +Plug PluginAdapterAdapter used to integrage an effects processor in the render pipeline +Portstructural asset corresponding to some port for building a processing chain and generating media output Prefetch Previewalternative version of the media data, probably with lower resolution Prockey abstraction: data processing asset diff --git a/doc/devel/uml/classes_list.html b/doc/devel/uml/classes_list.html index b91453124..9b03604d3 100644 --- a/doc/devel/uml/classes_list.html +++ b/doc/devel/uml/classes_list.html @@ -89,12 +89,13 @@ MObject
Mutex
NodeCreatorTool
-OutPort
Parameter
ParamProvider
PathManager
Placement
+Plug
PluginAdapter
+Port
Prefetch
Preview
Proc
diff --git a/doc/devel/uml/fig128133.png b/doc/devel/uml/fig128133.png index ccbcf7d90..8b525effd 100644 Binary files a/doc/devel/uml/fig128133.png and b/doc/devel/uml/fig128133.png differ diff --git a/doc/devel/uml/fig130309.png b/doc/devel/uml/fig130309.png index 8e7461c94..b485d3dcc 100644 Binary files a/doc/devel/uml/fig130309.png and b/doc/devel/uml/fig130309.png differ diff --git a/doc/devel/uml/fig131205.png b/doc/devel/uml/fig131205.png index 04fc181b7..b35cdf424 100644 Binary files a/doc/devel/uml/fig131205.png and b/doc/devel/uml/fig131205.png differ diff --git a/doc/devel/uml/index.html b/doc/devel/uml/index.html index 888b6b49c..e623f8fd7 100644 --- a/doc/devel/uml/index.html +++ b/doc/devel/uml/index.html @@ -263,7 +263,7 @@ Documentation
Artifact outport

structural asset corresponding to some port generating media output

-

Artifact source associated with : OutPort

+

Artifact source associated with : Port

Artifact track

structural asset holding the configuration of a track in the EDL

@@ -612,7 +612,7 @@ Documentation
Class Effect
Class Codec
Class Track
-
Class OutPort
+
Class Port
Class ProcPatt
Class Dataset
Class DB
@@ -657,6 +657,7 @@ Documentation
+
Class Plug

2.2.2 Package Builder

diff --git a/doc/devel/uml/index_67.html b/doc/devel/uml/index_67.html index 269befa2c..c41be7ee3 100644 --- a/doc/devel/uml/index_67.html +++ b/doc/devel/uml/index_67.html @@ -29,33 +29,33 @@ checked_outrelationthis list keeps all mappings which are in use, and thus prevents them from Cache aging Cinelerra3artifactthe main executable to be built cinelerra3package +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance class instanceclass instance class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance -class instanceclass instance -class instanceclass instance -class instanceclass instance class instanceclass instance class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance +class instanceclass instance class instanceclass instance clearoperationclear current session contents
without resetting overall session config.
Afterwards, the session will contain only one
empty EDL, while all Assets are retained.
Clipclassbookkeeping (asset) view of a media clip. diff --git a/doc/devel/uml/index_68.html b/doc/devel/uml/index_68.html index 68da1dfbd..8f898d37f 100644 --- a/doc/devel/uml/index_68.html +++ b/doc/devel/uml/index_68.html @@ -28,8 +28,8 @@ designpackage designpackageAll things concering the big picture.
Not a real code package, rather a container for design drafts, specifications, decisions. detect Channelsuse case -determine Render Paramsopaque activity action determine Render Paramsexpansion region +determine Render Paramsopaque activity action devnullclass instance Dispatchercomponent dispatchOpoperation diff --git a/doc/devel/uml/index_69.html b/doc/devel/uml/index_69.html index 20380e20a..caf706b98 100644 --- a/doc/devel/uml/index_69.html +++ b/doc/devel/uml/index_69.html @@ -24,8 +24,8 @@ EDL Example2object diagramMore complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip edlsrelation EffectclassEffect or media processing component -effectartifactEDL representation of a pluggable and automatable effect. effectartifactEffect or media processing component +effectartifactEDL representation of a pluggable and automatable effect. Effectclass elementsrelationrelevant MObjects comprising this segment. TODO: actually necessary?? enableoperationchange the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well diff --git a/doc/devel/uml/index_70.html b/doc/devel/uml/index_70.html index 10124ce04..b36d60aff 100644 --- a/doc/devel/uml/index_70.html +++ b/doc/devel/uml/index_70.html @@ -35,7 +35,6 @@ fixtureartifactthe (low level) representation of the EDL with concrete placement data Fixtureclass Fixturecomponent -fixturerelation fork activity nodefork activity node FrameclassFrames are just a low level lump of continous memory, most parts are opaque. Frames are memory sensitive, they will be small constant sized structures which can be efficently managed in a pool. Framenode diff --git a/doc/devel/uml/index_72.html b/doc/devel/uml/index_72.html index 58b669cd2..a26e1439f 100644 --- a/doc/devel/uml/index_72.html +++ b/doc/devel/uml/index_72.html @@ -24,8 +24,8 @@ howtoProcoperation@return descriptor how to build a render pipeline corresponding to this media Hubclass hubartifactspecial ProcNode used to build data distributing connections -HUEclass instance HUEclass instance +HUEclass instance diff --git a/doc/devel/uml/index_73.html b/doc/devel/uml/index_73.html index 27e37a604..798945020 100644 --- a/doc/devel/uml/index_73.html +++ b/doc/devel/uml/index_73.html @@ -20,9 +20,9 @@ idattributeAsset primary key. In Memory Databaseclass diagram inFixtureactivity action pin -inputclass instance inputclass instance inputclass instance +inputclass instance instanceoperation instructionsrelation Interfaceclass view diff --git a/doc/devel/uml/index_77.html b/doc/devel/uml/index_77.html index 775e82c1e..68bbd5cfb 100644 --- a/doc/devel/uml/index_77.html +++ b/doc/devel/uml/index_77.html @@ -32,8 +32,8 @@ MediaFactoryclassspecialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well merge activity nodemerge activity node Metaclasskey abstraction: metadata and organisational asset -metaartifactabstract base class of all MObjects representing meta data or processing instructions metaartifactkey abstraction: metadata and organisational asset +metaartifactabstract base class of all MObjects representing meta data or processing instructions Metaclass mobjectartifactKey Abstraction: A Media Object in the Session mobjectpackagesourcecode package

MObject Subsystem
including the Session (EDL), Builder and Processing Controller diff --git a/doc/devel/uml/index_79.html b/doc/devel/uml/index_79.html index 9ba074764..13aab1740 100644 --- a/doc/devel/uml/index_79.html +++ b/doc/devel/uml/index_79.html @@ -19,11 +19,11 @@ NameKindDescription offsetattributeOffset the actual position by this (time) value relative to the anchor point. TODO: Representation? orgattributeorigin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3". -ouputclass instance ouputclass instance ouputclass instance -OutPortclassstructural asset corresponding to some port generating media output +ouputclass instance outportartifactstructural asset corresponding to some port generating media output +outPortrelationthe Port this MObject wants to be conected to outputrelation Overviewcomponent diagramThis drawing shows the top level compoents and relations Overview Render Enginedeployment diagram diff --git a/doc/devel/uml/index_80.html b/doc/devel/uml/index_80.html index 2e0da44b5..9258e1132 100644 --- a/doc/devel/uml/index_80.html +++ b/doc/devel/uml/index_80.html @@ -29,11 +29,14 @@ Placementclassused to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
Placement at the same time acts as (refcounting) smart pointer for accessing the MObject. playoperationTODO: will probably be handled differently (see Cehteh) playlistnode +Plugclass plugIDattributeIdentifier of the Plugin to be used PluginAdapterclassAdapter used to integrage an effects processor in the render pipeline pluginadapterartifactAdapter for integrating various Effect processors in the render pipeline pnodenode pointattributeidentifying the point where the nodes should be attached +Portclassstructural asset corresponding to some port for building a processing chain and generating media output +portsrelationthe global ports (busses) of the session Posix Threads Abstractionclass viewC++ wrapers for pthreads Prefetchclass Previewclassalternative version of the media data, probably with lower resolution diff --git a/doc/devel/uml/index_82.html b/doc/devel/uml/index_82.html index a76e8f590..3a3a83808 100644 --- a/doc/devel/uml/index_82.html +++ b/doc/devel/uml/index_82.html @@ -22,8 +22,8 @@ registryrelation@internal Table or DB holding all registered asset instances. relativelocationartifactPlacement implemnetaion providing various ways of attaching a MObject to another one RelativeLocationclass -relTypeattributethe kind of relation denoted by this Placement RelTypeclassthe possible kinds of RelativePlacements +relTypeattributethe kind of relation denoted by this Placement removeoperationremove the given asset <i>together with all its dependants</i> from the internal DB Render Entitiesclass diagram Render Requestactivity parameter diff --git a/doc/devel/uml/index_83.html b/doc/devel/uml/index_83.html index eb3719cf0..847236104 100644 --- a/doc/devel/uml/index_83.html +++ b/doc/devel/uml/index_83.html @@ -46,8 +46,8 @@ SimpleClipclassElementary clip consisting of only one media stream SmartPointerclass SmartPointersclass view -sourcerelationmedia source of this clip sourcerelationthe media source this clip referes to +sourcerelationmedia source of this clip SourceclassSource Node: represents a media source to pull data from. sourceartifactRepresentation of a Media source Source Overviewdeployment diagram @@ -64,6 +64,7 @@ Struct-Asset Relationsclass diagram subjectrelationPlacement acts as smart pointer subPatternrelation +subTracksrelationChild tracks in a tree structure diff --git a/doc/devel/uml/index_84.html b/doc/devel/uml/index_84.html index 00c40c769..b2f672c79 100644 --- a/doc/devel/uml/index_84.html +++ b/doc/devel/uml/index_84.html @@ -19,35 +19,36 @@ NameKindDescription the render configuration flowactivity diagram theApp_attributeholds the single instance and triggers initialization +theFixturerelation +theTimelinerelation ThreadclassWe can basically reuse the Thread class design from cinelerra2, Thread becomes a baseclass for all Threads timeattribute timeartifactunified representation of a time point, including conversion functions Timeclassdenotes a temporal position (time point), based on timeline start.

investigate posix.4 realtime timers, wrap these here timelinenode -timelinerelation toolpackagesourcecode package

Tools and Utilities
(separate from the main cinelrra binary) Toolclass ToolFactoryclass toolfactoryartifactsupply of Tool implementations for the Builder Trackclassstructural asset holding the configuration of a track in the EDL +trackrelation trackattribute -trackartifactdescriptor for one track in the Session +trackrelation trackartifactstructural asset holding the configuration of a track in the EDL +trackartifactdescriptor for one track in the Session Trackclass tracksrelationelementary media assets comprising this compound -tracksrelation -tracksrelation Trafoclass trafoartifacttransforming processing Node treatoperation treatoperationThis operation is to be overloaded for the specific MObject subclasses to be treated. treatoperation -treatoperation treatoperation +treatoperation treatoperation treatoperation -treatoperation treatoperation +treatoperation diff --git a/doc/devel/uml/index_86.html b/doc/devel/uml/index_86.html index 8695a80a4..74937c93e 100644 --- a/doc/devel/uml/index_86.html +++ b/doc/devel/uml/index_86.html @@ -22,21 +22,21 @@ vframeartifacta buffer and render process holding a Video frame vid1class instance vid1class instance -vid_aclass instance -vid_Aclass instance vid_aclass instance vid_Aclass instance vid_Aclass instance -videoclass instance +vid_aclass instance +vid_Aclass instance videoclass instance videoclass instance videoclass instance -video1class instance +videoclass instance video1class instance video1class instance -video1class instance +video1class instance video1class instance video1class instance +video1class instance Visitableclass visitorpackagesub-namespace for visitor library implementation visitorartifactAcyclic Visitor library diff --git a/doc/devel/uml/index_87.html b/doc/devel/uml/index_87.html index cdf4db578..54f6d4f8c 100644 --- a/doc/devel/uml/index_87.html +++ b/doc/devel/uml/index_87.html @@ -19,7 +19,7 @@ NameKindDescription whatoperation whatoperationthe base class of all exceptions thrown by the standard library -wiringTemplaterelation +wiringTemplaterelation Wishclass write_bufferrelation WriteBufferclass diff --git a/doc/devel/uml/public_properties.html b/doc/devel/uml/public_properties.html index 6790afee8..2cf2100de 100644 --- a/doc/devel/uml/public_properties.html +++ b/doc/devel/uml/public_properties.html @@ -24,6 +24,7 @@ nodesDoAttach orgAssetorigin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3". pointDoAttachidentifying the point where the nodes should be attached +subTracksTrackChild tracks in a tree structure versionAssetversion number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions. diff --git a/src/proc/asset.hpp b/src/proc/asset.hpp index dabb73039..0df25a3fd 100644 --- a/src/proc/asset.hpp +++ b/src/proc/asset.hpp @@ -168,8 +168,8 @@ namespace asset Ident (const string& n, const Category& cat, - const string& o, - const uint ver); + const string& o = "cin3", + const uint ver=1); /** @note equality ignores version differences */ bool operator== (const Ident& other) const diff --git a/src/proc/asset/outport.cpp b/src/proc/asset/port.cpp similarity index 88% rename from src/proc/asset/outport.cpp rename to src/proc/asset/port.cpp index c0a228319..116f7ee63 100644 --- a/src/proc/asset/outport.cpp +++ b/src/proc/asset/port.cpp @@ -1,5 +1,5 @@ /* - OutPort - structural asset corresponding to some port generating media output + Port - structural asset corresponding to some port generating media output Copyright (C) CinelerraCV 2007, Hermann Vosseler @@ -21,7 +21,7 @@ * *****************************************************/ -#include "proc/asset/outport.hpp" +#include "proc/asset/port.hpp" namespace asset { diff --git a/src/proc/asset/outport.hpp b/src/proc/asset/port.hpp similarity index 75% rename from src/proc/asset/outport.hpp rename to src/proc/asset/port.hpp index c0afd059d..e854cfe86 100644 --- a/src/proc/asset/outport.hpp +++ b/src/proc/asset/port.hpp @@ -1,5 +1,5 @@ /* - OUTPORT.hpp - structural asset corresponding to some port generating media output + PORT.hpp - structural asset corresponding to some port generating media output Copyright (C) CinelerraCV 2007, Hermann Vosseler @@ -25,6 +25,7 @@ #define ASSET_OUTPORT_H #include "proc/asset/struct.hpp" +#include "proc/asset/procpatt.hpp" @@ -33,11 +34,15 @@ namespace asset /** - * structural asset corresponding to some port generating media output + * structural asset corresponding to some port + * for building a processing chain and + * generating media output */ - class OutPort : public Struct + class Port : public Struct { - + protected: + ProcPatt* wiringTemplate; + }; diff --git a/src/proc/asset/struct.cpp b/src/proc/asset/struct.cpp index 069830c27..de4160bce 100644 --- a/src/proc/asset/struct.cpp +++ b/src/proc/asset/struct.cpp @@ -23,6 +23,8 @@ #include "proc/assetmanager.hpp" #include "proc/asset/struct.hpp" +#include "proc/asset/track.hpp" + #include "common/util.hpp" #include "nobugcfg.h" @@ -31,7 +33,18 @@ namespace asset namespace // Implementation details { - /** helper: .....*/ + /** @internal derive a sensible asset ident tuple when creating + * a track asset based on a query + * @todo define the actual naming scheme of struct assets + */ + const Asset::Ident + createTrackIdent (Query& query) + { + string name ("track-" + query); // TODO something sensible here; append number, sanitize etc. + TODO ("track naming scheme??"); + Category category (STRUCT,"tracks"); + return Asset::Ident (name, category ); + } } @@ -41,19 +54,18 @@ namespace asset /** Factory method for Structural Asset instances. .... - * @todo actually define + * @todo work out the struct asset naming scheme! * @return an Struct smart ptr linked to the internally registered smart ptr * created as a side effect of calling the concrete Struct subclass ctor. */ - StructFactory::PType - StructFactory::operator() (Asset::Ident& key) ////TODO + template<> + shared_ptr + StructFactory::operator() (Query query) { - UNIMPLEMENTED ("Struct-Factory"); + TODO ("actually evaluate the query..."); + Track* pT = new Track (createTrackIdent (query)); + return AssetManager::instance().getPtr (*pT); } - - - - } // namespace asset diff --git a/src/proc/asset/struct.hpp b/src/proc/asset/struct.hpp index 33d329979..9b2c56e3f 100644 --- a/src/proc/asset/struct.hpp +++ b/src/proc/asset/struct.hpp @@ -40,6 +40,9 @@ #include "proc/asset.hpp" #include "common/factory.hpp" +#include + +using std::string; namespace asset @@ -86,6 +89,15 @@ namespace asset inline ID::ID(const Struct& stru) : ID (stru.getID()) {}; + /** + * Query for a special kind of structural Asset + */ + template + class Query : public std::string + { + public: + Query (string predicate) : string(predicate) {} + }; /** @@ -95,8 +107,9 @@ namespace asset { public: typedef shared_ptr PType; - - PType operator() (Asset::Ident& key); ////////////TODO define actual operation + + template + shared_ptr operator() (Query query); ////////////TODO define actual operation }; diff --git a/src/proc/asset/track.cpp b/src/proc/asset/track.cpp index d7b9b8feb..efbb3aaf9 100644 --- a/src/proc/asset/track.cpp +++ b/src/proc/asset/track.cpp @@ -26,8 +26,12 @@ namespace asset { - /** */ - + /** @todo work out the details of track assets */ + Track::Track (const Asset::Ident& idi) + : Struct (idi) + { + + } } // namespace asset diff --git a/src/proc/asset/track.hpp b/src/proc/asset/track.hpp index 6a7aa04e3..c4b6886c1 100644 --- a/src/proc/asset/track.hpp +++ b/src/proc/asset/track.hpp @@ -37,9 +37,14 @@ namespace asset */ class Track : public Struct { - + protected: + Track (const Asset::Ident& idi); + friend class StructFactory; }; + + typedef shared_ptr PTrack; + } // namespace asset diff --git a/src/proc/assetmanager.cpp b/src/proc/assetmanager.cpp index 46717c166..c8df77c65 100644 --- a/src/proc/assetmanager.cpp +++ b/src/proc/assetmanager.cpp @@ -234,6 +234,7 @@ namespace asset #include "proc/asset/clip.hpp" #include "proc/asset/proc.hpp" #include "proc/asset/struct.hpp" +#include "proc/asset/track.hpp" #include "proc/asset/meta.hpp" @@ -252,6 +253,7 @@ namespace asset template shared_ptr AssetManager::getPtr (const Asset& asset); template shared_ptr AssetManager::getPtr (const Media& asset); template shared_ptr AssetManager::getPtr (const Clip& asset); + template shared_ptr AssetManager::getPtr (const Track& asset); } // namespace asset diff --git a/src/proc/mobject/explicitplacement.hpp b/src/proc/mobject/explicitplacement.hpp index 416b1d4f1..9cc8bd1b7 100644 --- a/src/proc/mobject/explicitplacement.hpp +++ b/src/proc/mobject/explicitplacement.hpp @@ -48,9 +48,9 @@ namespace mobject { public: const Time time; - const Track track; + const Port port; - typedef std::pair SolutionData; //TODO (ichthyo consideres better passing of solution by subclass) + typedef std::pair SolutionData; //TODO (ichthyo consideres better passing of solution by subclass) /** no need to resolve any further, as this ExplicitPlacement * already \i is the result of a resolve()-call. @@ -70,7 +70,7 @@ namespace mobject */ ExplicitPlacement (const Placement& base, const SolutionData found) : Placement(base), - time(found.first), track(found.second) + time(found.first), port(found.second) { }; friend ExplicitPlacement Placement::resolve () const; diff --git a/src/proc/mobject/placement.hpp b/src/proc/mobject/placement.hpp index cd2ee06ac..21c4aada8 100644 --- a/src/proc/mobject/placement.hpp +++ b/src/proc/mobject/placement.hpp @@ -60,7 +60,7 @@ #include "cinelerra.h" #include "proc/mobject/mobject.hpp" #include "proc/mobject/session/locatingpin.hpp" -#include "proc/mobject/session/track.hpp" +#include "proc/asset/port.hpp" #include using std::tr1::shared_ptr; @@ -86,7 +86,8 @@ namespace mobject { protected: typedef cinelerra::Time Time; - typedef session::Track* Track; + typedef asset::shared_ptr Port; + public: diff --git a/src/proc/mobject/session/abstractmo.hpp b/src/proc/mobject/session/abstractmo.hpp index bd4fd5785..47aaff34f 100644 --- a/src/proc/mobject/session/abstractmo.hpp +++ b/src/proc/mobject/session/abstractmo.hpp @@ -27,7 +27,6 @@ #include "proc/mobject/mobject.hpp" - namespace mobject { namespace session diff --git a/src/proc/mobject/session/constraint.cpp b/src/proc/mobject/session/constraint.cpp new file mode 100644 index 000000000..ecf074ae6 --- /dev/null +++ b/src/proc/mobject/session/constraint.cpp @@ -0,0 +1,37 @@ +/* + Constraint - LocatingPin representing an mandatory directive + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +* *****************************************************/ + + +#include "proc/mobject/session/constraint.hpp" + +namespace mobject + { + namespace session + { + + /** */ + + + + } // namespace mobject::session + +} // namespace mobject diff --git a/src/proc/mobject/session/constraint.hpp b/src/proc/mobject/session/constraint.hpp new file mode 100644 index 000000000..bfaf45775 --- /dev/null +++ b/src/proc/mobject/session/constraint.hpp @@ -0,0 +1,47 @@ +/* + CONSTRAINT.hpp - LocatingPin representing an mandatory directive + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + + +#ifndef MOBJECT_SESSION_CONSTRAINT_H +#define MOBJECT_SESSION_CONSTRAINT_H + +#include "proc/mobject/session/allocation.hpp" + + + +namespace mobject + { + namespace session + { + + + /** + * LocatingPin representing an directive by the user + * that must not be violated + */ + class Constraint : public Allocation + {}; + + } // namespace mobject::session + +} // namespace mobject +#endif diff --git a/src/proc/mobject/session/edl.cpp b/src/proc/mobject/session/edl.cpp index 84a3f6e4c..e95b62424 100644 --- a/src/proc/mobject/session/edl.cpp +++ b/src/proc/mobject/session/edl.cpp @@ -24,12 +24,39 @@ #include "proc/mobject/session/edl.hpp" #include "proc/mobject/session/track.hpp" #include "proc/mobject/placement.hpp" -#include "proc/mobject/mobject.hpp" +#include "proc/mobject/session/mobjectfactory.hpp" +#include "proc/asset/track.hpp" namespace mobject { namespace session { + + namespace // Implementation details + { + using asset::Query; + + /** helper: create a default configured track asset */ + const Placement + makeDefaultTrack () + { + PTrackAsset tA = asset::Struct::create (Query ("dummy()")); + return MObject::create (tA); + } + + } + + + + + /** create an empty default configured EDL */ + EDL::EDL () + : track (makeDefaultTrack ()), + clips (0) + { + + } + /** @deprecated not sure if it is a good idea * to have this on the interface diff --git a/src/proc/mobject/session/edl.hpp b/src/proc/mobject/session/edl.hpp index db3ad4971..fc48f0a1a 100644 --- a/src/proc/mobject/session/edl.hpp +++ b/src/proc/mobject/session/edl.hpp @@ -29,7 +29,7 @@ #include "proc/mobject/mobject.hpp" #include "proc/mobject/placement.hpp" -#include "proc/asset/track.hpp" +#include "proc/mobject/session/track.hpp" using proc_interface::PAsset; // TODO better way to refer to a track? @@ -44,14 +44,16 @@ namespace mobject class EDL { protected: - vector tracks; + Placement track; vector clips; public: + EDL(); + bool contains (const PMO& placement); PMO& find (const string& id); ///< @todo how to refer to clips? using asset IDs?? - vector& getTracks () { return tracks; } ///< @todo use track assets correct, make const! + Placement& getTracks () { return track; } ///< @todo work out the correct use of tracks! make const correct! size_t size () { UNIMPLEMENTED ("what ist the 'size' of an EDL?"); diff --git a/src/proc/mobject/session/fixture.hpp b/src/proc/mobject/session/fixture.hpp index 78c0cdac5..f6549c185 100644 --- a/src/proc/mobject/session/fixture.hpp +++ b/src/proc/mobject/session/fixture.hpp @@ -48,7 +48,6 @@ namespace mobject class Fixture : public EDL { protected: - Track tracks; list timeline; diff --git a/src/proc/mobject/session/locatingpin.cpp b/src/proc/mobject/session/locatingpin.cpp index fc290c4be..88456d9a5 100644 --- a/src/proc/mobject/session/locatingpin.cpp +++ b/src/proc/mobject/session/locatingpin.cpp @@ -98,7 +98,7 @@ namespace mobject { LocatingSolution solution; resolve (solution); - return SolutionData (solution.getTime(), solution.getTrack()); + return SolutionData (solution.getTime(), solution.getPort()); } bool @@ -142,10 +142,11 @@ namespace mobject return minTime; } - LocatingPin::Track - LocatingPin::LocatingSolution::getTrack() + LocatingPin::Port + LocatingPin::LocatingSolution::getPort() { - UNIMPLEMENTED ("get effective Track number of Solution"); + UNIMPLEMENTED ("get effective Port of Solution"); + return Port (); } diff --git a/src/proc/mobject/session/locatingpin.hpp b/src/proc/mobject/session/locatingpin.hpp index cfa8416ba..c4e64844a 100644 --- a/src/proc/mobject/session/locatingpin.hpp +++ b/src/proc/mobject/session/locatingpin.hpp @@ -45,11 +45,14 @@ #include "cinelerra.h" #include +#include #include using boost::scoped_ptr; +namespace asset { class Port; } + namespace mobject { class MObject; @@ -61,7 +64,6 @@ namespace mobject class FixedLocation; class RelativeLocation; - class Track; //TODO /** @@ -80,8 +82,9 @@ namespace mobject { protected: typedef cinelerra::Time Time; - typedef session::Track* Track; - typedef std::pair SolutionData; //TODO (ichthyo consideres better passing of solution by subclass) + typedef Time* Track; //TODO dummy declaration; we don't use Tracks as first-class entity any longer + typedef std::tr1::shared_ptr Port; + typedef std::pair SolutionData; //TODO (ichthyo consideres better passing of solution by subclass) struct LocatingSolution; /** next additional Pin, if any */ @@ -125,7 +128,7 @@ namespace mobject { Time minTime; Time maxTime; - Track minTrack; + Track minTrack; // TODO don't use Tracks Track maxTrack; bool impo; @@ -138,7 +141,7 @@ namespace mobject { } Time getTime (); - Track getTrack (); + Port getPort (); bool is_definite (); bool is_impossible (); diff --git a/src/proc/mobject/session/mobjectfactory.cpp b/src/proc/mobject/session/mobjectfactory.cpp index c86da719b..f15d11d71 100644 --- a/src/proc/mobject/session/mobjectfactory.cpp +++ b/src/proc/mobject/session/mobjectfactory.cpp @@ -23,8 +23,10 @@ #include "proc/mobject/session/mobjectfactory.hpp" #include "proc/mobject/session/clip.hpp" +#include "proc/mobject/session/track.hpp" #include "proc/mobject/session/effect.hpp" #include "proc/asset/clip.hpp" +#include "proc/asset/track.hpp" #include "proc/asset/effect.hpp" namespace mobject @@ -61,9 +63,17 @@ namespace mobject UNIMPLEMENTED ("build multichannel compound clip-MO"); } + /** */ + Placement + MObjectFactory::operator() (PTrackAsset& trackDef) + { + TODO ("what needs to be registered when creating an Track-MO?"); + return Placement (*new Track (trackDef), &deleterFunc); + } + /** */ Placement - MObjectFactory::operator() (asset::Effect processorDef) + MObjectFactory::operator() (const asset::Effect& processorDef) { UNIMPLEMENTED ("fabricate effect-MO"); } diff --git a/src/proc/mobject/session/mobjectfactory.hpp b/src/proc/mobject/session/mobjectfactory.hpp index 3bc27a2a2..96ffbed75 100644 --- a/src/proc/mobject/session/mobjectfactory.hpp +++ b/src/proc/mobject/session/mobjectfactory.hpp @@ -32,6 +32,7 @@ namespace asset { class Clip; class Media; + class Track; class Effect; } @@ -41,7 +42,10 @@ namespace mobject namespace session { class Clip; + class Track; class Effect; + + typedef shared_ptr PTrackAsset; class MObjectFactory @@ -55,7 +59,8 @@ namespace mobject Placement operator() (const asset::Clip&, const asset::Media&); Placement operator() (const asset::Clip&, vector); - Placement operator() (const asset::Effect); + Placement operator() (PTrackAsset&); + Placement operator() (const asset::Effect&); }; diff --git a/src/proc/mobject/session/plug.cpp b/src/proc/mobject/session/plug.cpp new file mode 100644 index 000000000..91c4b9fb9 --- /dev/null +++ b/src/proc/mobject/session/plug.cpp @@ -0,0 +1,38 @@ +/* + Plug - LocatingPin for requesting connection to some Port + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +* *****************************************************/ + + +#include "proc/mobject/session/plug.hpp" +#include "proc/asset/port.hpp" + +namespace mobject + { + namespace session + { + + /** */ + + + + } // namespace mobject::session + +} // namespace mobject diff --git a/src/proc/mobject/session/plug.hpp b/src/proc/mobject/session/plug.hpp new file mode 100644 index 000000000..53599ea52 --- /dev/null +++ b/src/proc/mobject/session/plug.hpp @@ -0,0 +1,52 @@ +/* + PLUG.hpp - LocatingPin for requesting connection to some Port + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + + +#ifndef MOBJECT_SESSION_PLUG_H +#define MOBJECT_SESSION_PLUG_H + +#include "proc/mobject/session/wish.hpp" + + + +namespace asset { class Port; } + +namespace mobject + { + namespace session + { + + /** + * LocatingPin for requesting connection to some Port + */ + class Plug : public Wish + { + protected: + /** the Port this MObject wants to be conected to */ + asset::Port* outPort; ////////////////////////////////TODO: shared_ptr + + }; + + } // namespace mobject::session + +} // namespace mobject +#endif diff --git a/src/proc/mobject/session/track.cpp b/src/proc/mobject/session/track.cpp index 05b0dd31f..87f6dad2e 100644 --- a/src/proc/mobject/session/track.cpp +++ b/src/proc/mobject/session/track.cpp @@ -22,15 +22,29 @@ #include "proc/mobject/session/track.hpp" +#include "proc/asset/track.hpp" namespace mobject { namespace session { - /** */ + /** new track-MO linked with the given asset::Track. + * Initially, the reference (zero-point) time of this track + * will be set to 0 + */ + Track::Track (PTrackAsset& trackDef) + : start_(0), + trackDef_(trackDef) + { } + bool + Track::isValid() const + { + TODO ("sensible Track-MO self-check"); + return true; + } } // namespace mobject::session diff --git a/src/proc/mobject/session/track.hpp b/src/proc/mobject/session/track.hpp index 42d5fe783..99c7ae9cb 100644 --- a/src/proc/mobject/session/track.hpp +++ b/src/proc/mobject/session/track.hpp @@ -1,5 +1,5 @@ /* - TRACK.hpp - descriptor for one track in the Session + TRACK.hpp - A grouping device within the EDL. Copyright (C) CinelerraCV 2007, Hermann Vosseler @@ -24,31 +24,50 @@ #ifndef MOBJECT_SESSION_TRACK_H #define MOBJECT_SESSION_TRACK_H +#include "proc/mobject/session/meta.hpp" + +namespace asset { class Track; } + namespace mobject { namespace session { + typedef shared_ptr PTrackAsset; /** - * A Track in the EDL or Session. - * But, honestly, I don't quite know what a Track stands for! - * Usually, this stems from the metaphor of a multitrack tape machine, - * but I doubt this metaphor is really helpful for editing video; mostly - * people stick to such metaphors out of mental laziyness... - * - * So, let's see if the concept "Track" will get any practical functionallity - * or if we end up with "Track" beeing just a disguise for an int ID.... + * A Track is grouping device within the EDL. + * The corresponding Placement by which this Track object is refered + * defines fallback placing properties to be used by all objects placed on this track + * in case they don't specify more concrete placements. + * Typically, tracks are used do make default Port connections, + * define a layer or pan for sound and for for disabling groups + * of clips. Note tracks are grouped in a tree like fashion. */ - class Track + class Track : public Meta { + Time start_; + PTrackAsset trackDef_; + + protected: + Track (PTrackAsset&); + friend class MObjectFactory; + + public: + /** Child tracks in a tree structure */ + vector > subTracks; // TODO: Placement!!!!!!! + + virtual bool isValid() const; }; - - - + + + } // namespace mobject::session + + /** Placement defined to be subclass of Placement */ + DEFINE_SPECIALIZED_PLACEMENT (session::Track); } // namespace mobject #endif diff --git a/src/proc/mobject/session/wish.cpp b/src/proc/mobject/session/wish.cpp new file mode 100644 index 000000000..f58e0261a --- /dev/null +++ b/src/proc/mobject/session/wish.cpp @@ -0,0 +1,37 @@ +/* + Wish - LocatingPin representing a low-priority directive + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +* *****************************************************/ + + +#include "proc/mobject/session/wish.hpp" + +namespace mobject + { + namespace session + { + + /** */ + + + + } // namespace mobject::session + +} // namespace mobject diff --git a/src/proc/mobject/session/wish.hpp b/src/proc/mobject/session/wish.hpp new file mode 100644 index 000000000..d50e8865f --- /dev/null +++ b/src/proc/mobject/session/wish.hpp @@ -0,0 +1,52 @@ +/* + WISH.hpp - LocatingPin representing a low-priority directive + + Copyright (C) CinelerraCV + 2007, Hermann Vosseler + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + + +#ifndef MOBJECT_SESSION_WISH_H +#define MOBJECT_SESSION_WISH_H + +#include "proc/mobject/session/allocation.hpp" + + + +namespace mobject + { + namespace session + { + + + /** + * LocatingPin representing a low-priority directive by the user, + * to be fulfilled only if possible (and after satisfying the + * more important LocatingPins) + */ + class Wish : public Allocation + { + + }; + + + + } // namespace mobject::session + +} // namespace mobject +#endif diff --git a/tests/components/proc/mobject/session/sessionstructuretest.cpp b/tests/components/proc/mobject/session/sessionstructuretest.cpp index 46fe59aee..fc91d886b 100644 --- a/tests/components/proc/mobject/session/sessionstructuretest.cpp +++ b/tests/components/proc/mobject/session/sessionstructuretest.cpp @@ -61,11 +61,12 @@ namespace mobject PSess sess = Session::current; ASSERT (0 <= sess->currEDL().size()); // TODO implement ASSERT (0 <= sess->getFixture()->size()); // TODO implement - ASSERT (0 < sess->currEDL().getTracks().size()); // TODO implement + ASSERT (sess->currEDL().getTracks()->isValid()); - PAsset track = sess->currEDL().getTracks()[0]; - AssetManager& aMang = AssetManager::instance(); - ASSERT (track == aMang.getAsset (track->getID())); +// PAsset track = sess->currEDL().getTracks()[0]; +// AssetManager& aMang = AssetManager::instance(); +// ASSERT (track == aMang.getAsset (track->getID())); + UNIMPLEMENTED ("how to refer to tracks..."); } }; diff --git a/uml/cinelerra3/128133 b/uml/cinelerra3/128133 index aefe38ecb..591fc4844 100644 --- a/uml/cinelerra3/128133 +++ b/uml/cinelerra3/128133 @@ -1,6 +1,6 @@ format 40 "Asset" // ProcessingLayer::Asset - revision 15 + revision 16 modified_by 5 "hiv" // class settings //class diagram settings @@ -59,7 +59,7 @@ format 40 end classdiagram 131205 "Struct-Asset Relations" - draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default size A4 end @@ -685,17 +685,9 @@ ${inlines} b multiplicity "" parent class_ref 136965 // Struct end - classrelation 144389 // wiringTemplate () - relation 142469 ---> - a role_name "wiringTemplate" multiplicity "1" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; -" - classrelation_ref 144389 // wiringTemplate () - b multiplicity "" parent class_ref 138757 // ProcPatt - end end - class 138117 "OutPort" + class 138117 "Port" visibility package cpp_decl "${comment}${template}class ${name}${inherit} { @@ -706,7 +698,7 @@ ${inlines} idl_decl "" explicit_switch_type "" - comment "structural asset corresponding to some port generating media output" + comment "structural asset corresponding to some port for building a processing chain and generating media output" classrelation 141445 // relation 139653 ---|> a public @@ -714,6 +706,23 @@ ${inlines} classrelation_ref 141445 // b multiplicity "" parent class_ref 136965 // Struct end + + classrelation 148101 // + relation 145925 -_-> + a default + cpp default "Generated" + classrelation_ref 148101 // + b multiplicity "" parent class_ref 138757 // ProcPatt + end + + classrelation 148229 // wiringTemplate () + relation 146053 ---> + a role_name "wiringTemplate" multiplicity "0..1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 148229 // wiringTemplate () + b multiplicity "" parent class_ref 138757 // ProcPatt + end end class 138757 "ProcPatt" diff --git a/uml/cinelerra3/128133.diagram b/uml/cinelerra3/128133.diagram index 2df4f1453..0aa4daeb2 100644 --- a/uml/cinelerra3/128133.diagram +++ b/uml/cinelerra3/128133.diagram @@ -2,11 +2,11 @@ format 40 classcanvas 128005 class_ref 128005 // SessionImpl draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 19 606 2000 + xyz 18 679 2000 end classcanvas 128133 class_ref 128133 // EDL draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 232 606 2000 + xyz 231 679 2000 end classcanvas 128261 class_ref 128261 // Fixture draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -14,7 +14,7 @@ classcanvas 128261 class_ref 128261 // Fixture end classcanvas 129029 class_ref 128389 // Track draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 306 712 2000 + xyz 425 679 2000 end classcanvas 129413 class_ref 128517 // MObject draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -26,7 +26,7 @@ classcanvas 129669 class_ref 128645 // Placement end classcanvas 129925 class_ref 128389 // Track draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 319 1005 2000 + xyz 357 991 2000 end classcanvas 130949 class_ref 128773 // AbstractMO draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -75,12 +75,12 @@ classcanvas 136581 class_ref 129925 // Auto note 136837 "Placement \"locates\" a Media Object" xyzwh 370 73 3005 207 36 textcanvas 136965 "the Timeline is a list of placements reduced to absolute coordinates (time, track)" - xyzwh 464 925 2000 121 90 + xyzwh 468 919 2000 121 90 textcanvas 137093 "Fixture is the actual assembly of various Media Objects ready to be performed" - xyzwh 39 909 2000 147 108 + xyzwh -27 863 2000 147 108 classcanvas 137221 class_ref 130053 // Wish draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 561 532 2000 + xyz 560 532 2000 end classcanvas 137349 class_ref 130181 // Constraint draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -88,7 +88,7 @@ classcanvas 137349 class_ref 130181 // Constraint end classcanvas 138629 class_ref 135173 // Segment draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 417 678 2000 + xyz 666 731 2000 end classcanvas 139013 class_ref 138629 // CompoundClip draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -106,35 +106,33 @@ classcanvas 141317 class_ref 139909 // LocatingPin draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default xyz 518 239 2000 end +classcanvas 146053 class_ref 138117 // Port + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + xyz 344 597 2004 + end +classcanvas 146437 class_ref 140421 // Plug + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + xyz 560 597 2000 + end +textcanvas 146821 "global Port Asset" + xyzwh 299 569 2000 90 23 relationcanvas 128389 relation_ref 128005 // from ref 128005 z 1999 to ref 128133 - role_a_pos 201 603 3000 no_role_b - multiplicity_a_pos 205 636 3000 no_multiplicity_b + role_a_pos 200 676 3000 no_role_b + multiplicity_a_pos 204 709 3000 no_multiplicity_b relationcanvas 128517 relation_ref 128133 // from ref 128005 z 1999 to ref 128261 - role_a_pos 240 870 3000 no_role_b - multiplicity_a_pos 214 870 3000 no_multiplicity_b + role_a_pos 230 870 3000 no_role_b + multiplicity_a_pos 204 870 3000 no_multiplicity_b relationcanvas 128645 relation_ref 128261 // geometry VHr - from ref 128261 z 1999 to point 252 931 + from ref 128261 z 1999 to point 251 931 line 128901 z 1999 to ref 128133 no_role_a no_role_b no_multiplicity_a no_multiplicity_b -relationcanvas 129157 relation_ref 128389 // - geometry HV - from ref 128133 z 1999 stereotype "<>" xyz 286 628 3000 to point 326 625 - line 129285 z 1999 to ref 129029 - role_a_pos 338 687 3000 no_role_b - multiplicity_a_pos 314 687 3000 no_multiplicity_b -relationcanvas 130181 relation_ref 129029 // - geometry HV - from ref 128261 z 1999 stereotype "<>" xyz 334 914 3000 to point 339 931 - line 130565 z 1999 to ref 129925 - role_a_pos 351 980 3000 no_role_b - multiplicity_a_pos 315 980 3000 no_multiplicity_b relationcanvas 130821 relation_ref 128517 // geometry VH - from ref 128133 z 1999 stereotype "<>" xyz 258 547 3000 to point 252 167 + from ref 128133 z 1999 stereotype "<>" xyz 255 653 3000 to point 251 167 line 132357 z 1999 to ref 129413 role_a_pos 280 145 3000 no_role_b multiplicity_a_pos 298 178 3000 no_multiplicity_b @@ -175,7 +173,7 @@ relationcanvas 135685 relation_ref 130949 // no_multiplicity_a no_multiplicity_b relationcanvas 135941 relation_ref 131077 // from ref 128261 z 1999 stereotype "<>" xyz 371 893 3000 to ref 135813 - role_a_pos 419 844 3000 no_role_b + role_a_pos 389 857 3000 no_role_b multiplicity_a_pos 451 877 3000 no_multiplicity_b relationcanvas 136069 relation_ref 131205 // from ref 135813 z 1999 to point 433 897 @@ -198,7 +196,7 @@ relationcanvas 138245 relation_ref 131717 // no_multiplicity_a no_multiplicity_b relationcanvas 138757 relation_ref 137093 // geometry VHr - from ref 138629 z 1999 stereotype "<>" xyz 479 716 3000 to point 517 714 + from ref 138629 z 1999 stereotype "<>" xyz 611 767 3000 to point 517 767 line 138885 z 1999 to ref 135813 role_a_pos 529 783 3000 no_role_b multiplicity_a_pos 505 783 3000 no_multiplicity_b @@ -207,7 +205,7 @@ relationcanvas 139141 relation_ref 140805 // no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 139525 relation_ref 142725 // - from ref 128005 z 1999 stereotype "<>" xyz 57 558 3000 to ref 139269 + from ref 128005 z 1999 stereotype "<>" xyz 56 594 3000 to ref 139269 no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 139781 relation_ref 142853 // @@ -251,4 +249,36 @@ relationcanvas 144517 relation_ref 143877 // line 144773 z 1999 to ref 141317 role_a_pos 492 244 3000 no_role_b no_multiplicity_a no_multiplicity_b +relationcanvas 144901 relation_ref 144901 // + from ref 129029 z 1999 to point 445 489 + line 145029 z 1999 to ref 131973 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 145285 relation_ref 145029 // + from ref 129029 z 1999 stereotype "<>" xyz 389 732 3000 to point 445 749 + line 145413 z 1999 to point 369 749 + line 145541 z 1999 to ref 129029 + role_a_pos 382 748 3000 no_role_b + multiplicity_a_pos 403 704 3000 no_multiplicity_b +relationcanvas 145669 relation_ref 145157 // + from ref 128133 z 1999 to ref 129029 + role_a_pos 376 681 3000 no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 145925 relation_ref 145413 // + from ref 128261 z 1999 to ref 129925 + role_a_pos 321 978 3000 no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 146181 relation_ref 145541 // + from ref 128005 z 1999 to point 311 616 + line 146309 z 1999 stereotype "<>" xyz 103 649 3000 to ref 146053 + role_a_pos 308 594 3000 no_role_b + multiplicity_a_pos 329 627 3000 no_multiplicity_b +relationcanvas 146565 relation_ref 145669 // + from ref 146437 z 1999 to ref 137221 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +relationcanvas 146693 relation_ref 145797 // + from ref 146437 z 1999 to ref 146053 + role_a_pos 398 594 3000 no_role_b + no_multiplicity_a no_multiplicity_b end diff --git a/uml/cinelerra3/128261 b/uml/cinelerra3/128261 index 10080e773..aea54b2f1 100644 --- a/uml/cinelerra3/128261 +++ b/uml/cinelerra3/128261 @@ -1,6 +1,6 @@ format 40 "MObject" // ProcessingLayer::MObject - revision 27 + revision 28 modified_by 5 "hiv" // class settings //class diagram settings @@ -127,12 +127,12 @@ ${inlines} b multiplicity "" parent class_ref 128133 // EDL end - classrelation 128261 // fixture () + classrelation 128261 // theFixture () relation 128133 ---> - a role_name "fixture" multiplicity "1" protected + a role_name "theFixture" multiplicity "1" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value}; " - classrelation_ref 128261 // fixture () + classrelation_ref 128261 // theFixture () b multiplicity "" parent class_ref 128261 // Fixture end @@ -144,6 +144,17 @@ ${inlines} classrelation_ref 144645 // b multiplicity "" parent class_ref 139653 // Session end + + classrelation 147717 // ports () + relation 145541 o--> + stereotype "vector" + a role_name "ports" multiplicity "*" protected + comment "the global ports (busses) of the session" + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 147717 // ports () + b multiplicity "" parent class_ref 138117 // Port + end end class 139781 "SessManager" @@ -241,16 +252,6 @@ ${inlines} idl_decl "" explicit_switch_type "" - classrelation 128645 // tracks () - relation 128389 *--> - stereotype "list" - a role_name "tracks" multiplicity "*" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value}; -" - classrelation_ref 128645 // tracks () - b multiplicity "" parent class_ref 128389 // Track - end - classrelation 128901 // clips () relation 128517 o--> stereotype "list" @@ -260,6 +261,16 @@ ${inlines} classrelation_ref 128901 // clips () b multiplicity "" parent class_ref 128517 // MObject end + + classrelation 147333 // track () + relation 145157 ---> + a role_name "track" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 147333 // track () + b multiplicity "" parent class_ref 128389 // Track + association_type class_ref 128645 // Placement + end end class 128261 "Fixture" @@ -281,23 +292,13 @@ ${inlines} b multiplicity "" parent class_ref 128133 // EDL end - classrelation 129541 // tracks () - relation 129029 *--> - stereotype "list" - a role_name "tracks" multiplicity "1..*" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; -" - classrelation_ref 129541 // tracks () - b multiplicity "" parent class_ref 128389 // Track - end - - classrelation 131717 // timeline () + classrelation 131717 // theTimeline () relation 131077 *--> stereotype "list" - a role_name "timeline" multiplicity "*" protected + a role_name "theTimeline" multiplicity "*" protected cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; " - classrelation_ref 131717 // timeline () + classrelation_ref 131717 // theTimeline () b multiplicity "" parent class_ref 129797 // ExplicitPlacement end @@ -330,6 +331,16 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} end + + classrelation 147589 // track () + relation 145413 ---> + a role_name "track" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 147589 // track () + b multiplicity "" parent class_ref 128389 // Track + association_type class_ref 128645 // Placement + end end class 135173 "Segment" @@ -383,6 +394,26 @@ ${inlines} idl_decl "" explicit_switch_type "" + associated_diagram classdiagram_ref 128133 // Session structure + classrelation 147077 // + relation 144901 ---|> + a public + cpp default "${type}" + classrelation_ref 147077 // + b multiplicity "" parent class_ref 129157 // Meta + end + + classrelation 147205 // subTracks () + relation 145029 *--> + stereotype "vector" + a role_name "subTracks" multiplicity "*" public + comment "Child tracks in a tree structure" + cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value}; +" + classrelation_ref 147205 // subTracks () + b multiplicity "" parent class_ref 128389 // Track + association_type class_ref 128645 // Placement + end end class 128517 "MObject" @@ -963,6 +994,36 @@ ${inlines} end end + class 140421 "Plug" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 147845 // + relation 145669 ---|> + a public + cpp default "${type}" + classrelation_ref 147845 // + b multiplicity "" parent class_ref 130053 // Wish + end + + classrelation 147973 // outPort () + relation 145797 ---> + a role_name "outPort" multiplicity "" protected + comment "the Port this MObject wants to be conected to" + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 147973 // outPort () + b multiplicity "" parent class_ref 138117 // Port + end + end + class 134533 "Parameter" visibility public nformals 1 diff --git a/uml/cinelerra3/129285 b/uml/cinelerra3/129285 index 7b8ccd808..11729b3cf 100644 --- a/uml/cinelerra3/129285 +++ b/uml/cinelerra3/129285 @@ -1,6 +1,6 @@ format 40 "ProcessingLayer" // ProcessingLayer - revision 9 + revision 10 modified_by 5 "hiv" // class settings //class diagram settings diff --git a/uml/cinelerra3/130309.diagram b/uml/cinelerra3/130309.diagram index 81e77861e..7de6c806f 100644 --- a/uml/cinelerra3/130309.diagram +++ b/uml/cinelerra3/130309.diagram @@ -55,9 +55,9 @@ classcanvas 132485 class_ref 137989 // Track draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default xyz 614 445 2000 end -classcanvas 132613 class_ref 138117 // OutPort +classcanvas 132613 class_ref 138117 // Port draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 677 445 2000 + xyz 682 445 2000 end classcanvas 132997 class_ref 138245 // Dataset draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -207,6 +207,11 @@ relationcanvas 138501 relation_ref 144133 // from ref 131461 z 1999 to ref 131333 no_role_a no_role_b no_multiplicity_a no_multiplicity_b +relationcanvas 138629 relation_ref 145925 // + from ref 132613 z 1999 to point 714 509 + line 138757 z 1999 to ref 135813 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b line 128261 -_-_ geometry HV from ref 128005 z 1999 to point 331 150 line 128389 z 1999 to ref 128133 diff --git a/uml/cinelerra3/130437 b/uml/cinelerra3/130437 index b1c2021e8..2bad861ba 100644 --- a/uml/cinelerra3/130437 +++ b/uml/cinelerra3/130437 @@ -1,6 +1,6 @@ format 40 "session" // design::codegen::proc::mobject::session - revision 11 + revision 12 modified_by 5 "hiv" // class settings //class diagram settings @@ -274,7 +274,14 @@ ${namespace_end}" associated_classes class_ref 128389 // Track end - comment "descriptor for one track in the Session" + comment "A grouping device within the EDL. The corresponding Placement +by which this Track object is refered defines fallback placing +properties to be used by all objects placed on this track in +case they don't specify more concrete placements. +Typically, tracks are used do make default Port connections, +define a layer or pan for sound and for for disabling groups +of clips. Note tracks are grouped in a tree like fashion. +" end artifact 129285 "abstractmo" @@ -666,6 +673,126 @@ ${namespace_end}" end end + artifact 139397 "constraint" + stereotype "source" + cpp_h "/* + ${NAME}.hpp - ${description} +@{CopyrightClaim}@{GPLHeader} +*/ + + +#ifndef ${NAMESPACE}_${NAME}_H +#define ${NAMESPACE}_${NAME}_H + +${includes} +${declarations} + + +${namespace_start} + +${definition} +${namespace_end} +#endif +" + cpp_src "/* + ${Name} - ${description} +@{CopyrightClaim}@{GPLHeader} +* *****************************************************/ + + +${includes} +${namespace_start} + + +${members} +${namespace_end}" + associated_classes + class_ref 130181 // Constraint + end + comment "LocatingPin representing an directive by the user that +must not be violated" + end + + artifact 139269 "wish" + stereotype "source" + cpp_h "/* + ${NAME}.hpp - ${description} +@{CopyrightClaim}@{GPLHeader} +*/ + + +#ifndef ${NAMESPACE}_${NAME}_H +#define ${NAMESPACE}_${NAME}_H + +${includes} +${declarations} + + +${namespace_start} + +${definition} +${namespace_end} +#endif +" + cpp_src "/* + ${Name} - ${description} +@{CopyrightClaim}@{GPLHeader} +* *****************************************************/ + + +${includes} +${namespace_start} + + +${members} +${namespace_end}" + associated_classes + class_ref 130053 // Wish + end + comment "LocatingPin representing a low-priority directive by the user, +to be fulfilled only if possible (and after satisfying the +more important LocatingPins)" + end + + artifact 139525 "plug" + stereotype "source" + cpp_h "/* + ${NAME}.hpp - ${description} +@{CopyrightClaim}@{GPLHeader} +*/ + + +#ifndef ${NAMESPACE}_${NAME}_H +#define ${NAMESPACE}_${NAME}_H + +${includes} +${declarations} + + +${namespace_start} + +${definition} +${namespace_end} +#endif +" + cpp_src "/* + ${Name} - ${description} +@{CopyrightClaim}@{GPLHeader} +* *****************************************************/ + + +${includes} +${namespace_start} + + +${members} +${namespace_end}" + associated_classes + class_ref 140421 // Plug + end + comment "LocatingPin for requesting connection to some Port" + end + artifact 130181 "label" stereotype "source" cpp_h "/* diff --git a/uml/cinelerra3/131205.diagram b/uml/cinelerra3/131205.diagram index 02ad56b41..c3c077ba7 100644 --- a/uml/cinelerra3/131205.diagram +++ b/uml/cinelerra3/131205.diagram @@ -15,9 +15,9 @@ classcanvas 128389 class_ref 138757 // ProcPatt draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default xyz 684 277 2000 end -classcanvas 128517 class_ref 138117 // OutPort +classcanvas 128517 class_ref 138117 // Port draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 510 196 2000 + xyz 516 196 2000 end classcanvas 128645 class_ref 139141 // DoAttach draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -37,7 +37,7 @@ classcanvas 129029 class_ref 136965 // Struct end relationcanvas 129157 relation_ref 139653 // geometry VHV - from ref 128517 z 1999 to point 535 167 + from ref 128517 z 1999 to point 536 167 line 130437 z 1999 to point 721 167 line 130565 z 1999 to ref 129029 no_role_a no_role_b @@ -55,9 +55,9 @@ relationcanvas 129413 relation_ref 139525 // no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 129541 relation_ref 141701 // - from ref 128389 z 1999 stereotype "<>" xyz 678 340 3000 to ref 128133 - role_a_pos 704 366 3000 no_role_b - multiplicity_a_pos 668 366 3000 multiplicity_b_pos 689 328 3000 + from ref 128389 z 1999 stereotype "<>" xyz 637 314 3000 to ref 128133 + role_a_pos 640 329 3000 no_role_b + multiplicity_a_pos 668 366 3000 multiplicity_b_pos 743 320 3000 relationcanvas 129669 relation_ref 141829 // from ref 128645 z 1999 to ref 128133 no_role_a no_role_b @@ -70,10 +70,15 @@ relationcanvas 130053 relation_ref 141957 // from ref 128901 z 1999 to ref 128133 no_role_a no_role_b no_multiplicity_a no_multiplicity_b -relationcanvas 130821 relation_ref 142469 // - geometry VH - from ref 128773 z 1999 to point 624 296 - line 131205 z 1999 to ref 128389 - role_a_pos 587 295 3000 no_role_b - multiplicity_a_pos 667 307 3000 no_multiplicity_b +relationcanvas 131461 relation_ref 142085 // + from ref 128901 z 1999 to point 747 424 + line 131845 z 1999 to point 747 348 + line 131973 z 1999 to ref 128389 + role_a_pos 719 362 3000 no_role_b + multiplicity_a_pos 707 329 3000 multiplicity_b_pos 727 436 3000 +relationcanvas 131589 relation_ref 146053 // + from ref 128517 z 1999 to point 536 295 + line 131717 z 1999 to ref 128389 + role_a_pos 569 280 3000 no_role_b + multiplicity_a_pos 576 296 3000 no_multiplicity_b end diff --git a/uml/cinelerra3/5.session b/uml/cinelerra3/5.session index f89f4f060..76cf1249d 100644 --- a/uml/cinelerra3/5.session +++ b/uml/cinelerra3/5.session @@ -1,23 +1,32 @@ window_sizes 1140 830 270 860 680 71 diagrams classdiagram_ref 130309 // Asset Kinds - 860 633 100 4 0 0 - active classdiagram_ref 128133 // Session structure - 860 633 100 4 401 0 + 860 633 100 4 158 0 + classdiagram_ref 128133 // Session structure + 860 633 100 4 462 0 classdiagram_ref 128389 // Render Entities - 688 506 100 4 120 0 + 743 538 100 4 0 0 + active classdiagram_ref 131205 // Struct-Asset Relations + 741 555 100 4 0 114 end show_stereotypes selected -package_ref 129 // cinelerra3 + package_ref 129 // cinelerra3 open - deploymentview_ref 128261 // gen - deploymentview_ref 129029 // gen + + package_ref 128005 // design class_ref 137477 // Unknown class_ref 137605 // Preview + class_ref 137989 // Track + class_ref 138117 // Port + class_ref 128005 // SessionImpl + class_ref 128133 // EDL + class_ref 128261 // Fixture + class_ref 128389 // Track class_ref 128645 // Placement class_ref 129413 // RelativeLocation class_ref 129541 // Allocation + class_ref 140421 // Plug class_ref 139909 // LocatingPin class_ref 134021 // Buildable class_ref 134149 // BuilderTool diff --git a/uml/cinelerra3/cinelerra3.prj b/uml/cinelerra3/cinelerra3.prj index 47e92b6e0..2870223f2 100644 --- a/uml/cinelerra3/cinelerra3.prj +++ b/uml/cinelerra3/cinelerra3.prj @@ -1,6 +1,6 @@ format 40 "cinelerra3" - revision 39 + revision 40 modified_by 5 "hiv" cpp_root_dir "../../src/"