initial code generation/formatting for Asset subsystem
This commit is contained in:
parent
85a8f87245
commit
2e390f1b05
31 changed files with 1336 additions and 16 deletions
69
src/proc/asset.cpp
Normal file
69
src/proc/asset.cpp
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
Asset} - Superinterface: bookeeping view of "things" present in the session
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset.hpp"
|
||||
#include "proc/asset/category.hpp"
|
||||
|
||||
namespace proc_interface
|
||||
{
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* List of entities this asset depends on or requires to be functional. May be empty. The head of this list can be considered the primary prerequisite
|
||||
*/
|
||||
vector<PAsset>
|
||||
Asset::getParents ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* All the other assets requiring this asset to be functional. For example, all the clips depending on a given media file. May be empty. The dependency relation is transitive.
|
||||
*/
|
||||
vector<PAsset>
|
||||
Asset::getDependant ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* weather this asset is swithced on and consequently included in the fixture and participates in rendering
|
||||
*/
|
||||
bool
|
||||
Asset::isActive ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well
|
||||
*/
|
||||
void
|
||||
Asset::enable () throw(cinelerra::error::State)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace proc_interface
|
||||
125
src/proc/asset.hpp
Normal file
125
src/proc/asset.hpp
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
ASSET.hpp - Superinterface: bookeeping view of "things" present in the session
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 PROC_INTERFACE_ASSET_H
|
||||
#define PROC_INTERFACE_ASSET_H
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include "common/error.hpp"
|
||||
|
||||
using std::string;
|
||||
using std::vector;
|
||||
using std::set;
|
||||
|
||||
|
||||
namespace asset { class Category; }
|
||||
|
||||
|
||||
namespace proc_interface
|
||||
{
|
||||
|
||||
typedef void* PAsset; //////TODO
|
||||
|
||||
/**
|
||||
* Superinterface describing especially the bookeeping properties of Assets
|
||||
*/
|
||||
class Asset
|
||||
{
|
||||
public:
|
||||
/** Asset primary key. */
|
||||
const long id;
|
||||
|
||||
/** element ID, comprehensible but sanitized.
|
||||
* The tuple (category, name, org) is unique.
|
||||
*/
|
||||
const string name;
|
||||
|
||||
/**primary tree like classification of the asset */
|
||||
const asset::Category* category;
|
||||
|
||||
/** origin 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".
|
||||
*/
|
||||
const string org;
|
||||
|
||||
/** version 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.
|
||||
*/
|
||||
const unsigned int version;
|
||||
|
||||
|
||||
protected:
|
||||
/** additional classification, selections or departments this asset belongs to.
|
||||
* Groups are optional, non-exclusive and may be overlapping.
|
||||
*/
|
||||
set<string> groups;
|
||||
|
||||
/** user visible Name-ID. To be localized. */
|
||||
const string shortDesc;
|
||||
|
||||
/** user visible qualification of the thing, unit or concept represented by this asset.
|
||||
* perferably "in one line". To be localized. */
|
||||
const string longDesc;
|
||||
|
||||
|
||||
public:
|
||||
/** List of entities this asset depends on or requires to be functional.
|
||||
* May be empty. The head of this list can be considered the primary prerequisite
|
||||
*/
|
||||
vector<PAsset> getParents () ;
|
||||
|
||||
/** All the other assets requiring this asset to be functional.
|
||||
* For example, all the clips depending on a given media file.
|
||||
* May be empty. The dependency relation is transitive.
|
||||
*/
|
||||
vector<PAsset> getDependant () ;
|
||||
|
||||
/** weather this asset is swithced on and consequently
|
||||
* included in the fixture and participates in rendering
|
||||
*/
|
||||
bool isActive () ;
|
||||
|
||||
/** change the enabled status of this asset.
|
||||
* Note the corresponding #isActive predicate may
|
||||
* depend on the enablement status of parent assets as well
|
||||
*/
|
||||
void enable () throw(cinelerra::error::State);
|
||||
};
|
||||
|
||||
} // namespace proc_interface
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
using proc_interface::Asset;
|
||||
}
|
||||
|
||||
#endif
|
||||
31
src/proc/asset/category.cpp
Normal file
31
src/proc/asset/category.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Category - tree like classification of Assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/category.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
40
src/proc/asset/category.hpp
Normal file
40
src/proc/asset/category.hpp
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
CATEGORY.hpp - tree like classification of Assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_CATEGORY_H
|
||||
#define ASSET_CATEGORY_H
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
/**
|
||||
* tree like classification of Assets
|
||||
*/
|
||||
class Category
|
||||
{};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/clip.cpp
Normal file
33
src/proc/asset/clip.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Clip(Asset) - bookkeeping (asset) view of a media clip.
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/clip.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
47
src/proc/asset/clip.hpp
Normal file
47
src/proc/asset/clip.hpp
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
CLIP.hpp - bookkeeping (asset) view of a media clip.
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_CLIP_H
|
||||
#define ASSET_CLIP_H
|
||||
|
||||
#include "proc/asset/media.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
/**
|
||||
* bookkeeping (Asset) view of a media clip.
|
||||
*/
|
||||
class Clip : public Media
|
||||
{
|
||||
protected:
|
||||
/**media source of this clip */
|
||||
const Media* source;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/codec.cpp
Normal file
31
src/proc/asset/codec.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Codec(Asset) - description of some media data decoder or encoder facility
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/codec.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
45
src/proc/asset/codec.hpp
Normal file
45
src/proc/asset/codec.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
CODEC.hpp - description of some media data decoder or encoder facility
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_CODEC_H
|
||||
#define ASSET_CODEC_H
|
||||
|
||||
#include "proc/asset/proc.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/**
|
||||
* description of some media data decoder or encoder facility
|
||||
*/
|
||||
class Codec : public Proc
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/dataset.cpp
Normal file
31
src/proc/asset/dataset.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Dataset - meta asset describing a collection of control data
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/dataset.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
42
src/proc/asset/dataset.hpp
Normal file
42
src/proc/asset/dataset.hpp
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
DATASET.hpp - meta asset describing a collection of control data
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_DATASET_H
|
||||
#define ASSET_DATASET_H
|
||||
|
||||
#include "proc/asset/meta.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* meta asset describing a collection of control data
|
||||
*/
|
||||
class Dataset : public Meta
|
||||
{};
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/effect.cpp
Normal file
31
src/proc/asset/effect.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Effect(Asset) - Effect or media processing component
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/effect.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
45
src/proc/asset/effect.hpp
Normal file
45
src/proc/asset/effect.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
EFFECT.hpp - Effect or media processing component
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_EFFECT_H
|
||||
#define ASSET_EFFECT_H
|
||||
|
||||
#include "proc/asset/proc.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/**
|
||||
* Effect or media processing component
|
||||
*/
|
||||
class Effect : public Proc
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/media.cpp
Normal file
33
src/proc/asset/media.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Media(Asset) - key abstraction: media-like assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/media.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/media.hpp
Normal file
46
src/proc/asset/media.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
MEDIA.hpp - key abstraction: media-like assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_MEDIA_H
|
||||
#define ASSET_MEDIA_H
|
||||
|
||||
#include "proc/asset.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* key abstraction: media-like assets
|
||||
*/
|
||||
class Media : public proc_interface::Asset
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/meta.cpp
Normal file
33
src/proc/asset/meta.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Meta(Asset) - key abstraction: metadata and organisational asset
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/meta.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/meta.hpp
Normal file
46
src/proc/asset/meta.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
META.hpp - key abstraction: metadata and organisational asset
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_META_H
|
||||
#define ASSET_META_H
|
||||
|
||||
#include "proc/asset.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* key abstraction: metadata and organisational asset
|
||||
*/
|
||||
class Meta : public proc_interface::Asset
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/outport.cpp
Normal file
31
src/proc/asset/outport.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
OutPort - structural asset corresponding to some port generating media output
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/outport.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/outport.hpp
Normal file
46
src/proc/asset/outport.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
OUTPORT.hpp - structural asset corresponding to some port generating media output
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_OUTPORT_H
|
||||
#define ASSET_OUTPORT_H
|
||||
|
||||
#include "proc/asset/struct.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* structural asset corresponding to some port generating media output
|
||||
*/
|
||||
class OutPort : public Struct
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/preview.cpp
Normal file
31
src/proc/asset/preview.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Preview(Asset) - alternative version of the media data, probably with lower resolution
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/preview.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
45
src/proc/asset/preview.hpp
Normal file
45
src/proc/asset/preview.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
PREVIEW.hpp - alternative version of the media data, probably with lower resolution
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_PREVIEW_H
|
||||
#define ASSET_PREVIEW_H
|
||||
|
||||
#include "proc/asset/media.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/**
|
||||
* alternative version of the media data, probably with lower resolution
|
||||
*/
|
||||
class Preview : public Media
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/proc.cpp
Normal file
33
src/proc/asset/proc.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Proc(Asset) - key abstraction: media-like assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/proc.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/proc.hpp
Normal file
46
src/proc/asset/proc.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
PROC.hpp - key abstraction: media-like assets
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_PROC_H
|
||||
#define ASSET_PROC_H
|
||||
|
||||
#include "proc/asset.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* key abstraction: data processing asset
|
||||
*/
|
||||
class Proc : public Asset
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
31
src/proc/asset/struct.cpp
Normal file
31
src/proc/asset/struct.cpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
Struct(Asset) - key abstraction: structural asset
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/struct.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/struct.hpp
Normal file
46
src/proc/asset/struct.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
STRUCT.hpp - key abstraction: structural asset
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_STRUCT_H
|
||||
#define ASSET_STRUCT_H
|
||||
|
||||
#include "proc/asset.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* key abstraction: structural asset
|
||||
*/
|
||||
class Struct : public Asset
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/track.cpp
Normal file
33
src/proc/asset/track.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Track - structural asset holding the configuration of a track in the EDL
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/track.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
46
src/proc/asset/track.hpp
Normal file
46
src/proc/asset/track.hpp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
TRACK.hpp - structural asset holding the configuration of a track in the EDL
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_TRACK_H
|
||||
#define ASSET_TRACK_H
|
||||
|
||||
#include "proc/asset/struct.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Structural Asset holding the configuration of a track in the EDL
|
||||
*/
|
||||
class Track : public Struct
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
33
src/proc/asset/unknown.cpp
Normal file
33
src/proc/asset/unknown.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
Unknown - placeholder for unknown or unavailable media source
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/asset/unknown.hpp"
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
47
src/proc/asset/unknown.hpp
Normal file
47
src/proc/asset/unknown.hpp
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
UNKNOWN.hpp - placeholder for unknown or unavailable media source
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 ASSET_UNKNOWN_H
|
||||
#define ASSET_UNKNOWN_H
|
||||
|
||||
#include "proc/asset/preview.hpp"
|
||||
|
||||
|
||||
|
||||
namespace asset
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Placeholder Asset for unknown or unavailable media source.
|
||||
*/
|
||||
class Unknown : public Preview
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace asset
|
||||
#endif
|
||||
70
src/proc/assetmanager.cpp
Normal file
70
src/proc/assetmanager.cpp
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
AssetManager - Facade for the Asset subsystem
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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/assetmanager.hpp"
|
||||
|
||||
namespace proc_interface
|
||||
{
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* registers an asset object in the internal DB, providing its unique key
|
||||
*/
|
||||
long
|
||||
AssetManager::reg (string& name, string& category, string& org, uint version)
|
||||
//throw(cinelerra::error::Invalid)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* find and return corresponging object
|
||||
*/
|
||||
template<class KIND> ////TODO: does this work????
|
||||
KIND
|
||||
AssetManager::getAsset (long id) ////throw(cinelerra::Invalid)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return true if the given id is registered in the internal asset DB
|
||||
*/
|
||||
bool
|
||||
AssetManager::known (long id)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* remove the given asset <i>together with all its dependants</i> from the internal DB
|
||||
*/
|
||||
void
|
||||
AssetManager::remove (long id) /////throw(cinelerra::Invalid, cinelerra::State)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace proc_interface
|
||||
67
src/proc/assetmanager.hpp
Normal file
67
src/proc/assetmanager.hpp
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
ASSETMANAGER.hpp - Facade for the Asset subsystem
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
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 PROC_INTERFACE_ASSETMANAGER_H
|
||||
#define PROC_INTERFACE_ASSETMANAGER_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "common/error.hpp"
|
||||
|
||||
|
||||
using std::string;
|
||||
|
||||
|
||||
namespace proc_interface
|
||||
{
|
||||
|
||||
/**
|
||||
* Facade for the Asset subsystem
|
||||
*/
|
||||
class AssetManager
|
||||
{
|
||||
int bla;
|
||||
public:
|
||||
/** registers an asset object in the internal DB, providing its unique key
|
||||
*/
|
||||
static long reg (string& name, string& category, string& org, uint version)
|
||||
;
|
||||
// throw(cinelerra::error::Invalid);
|
||||
|
||||
/** find and return corresponging object */
|
||||
template<class KIND>
|
||||
// void* /////////////////TODO
|
||||
KIND
|
||||
getAsset (long id) ;///throw(cinelerra::error::Invalid);
|
||||
|
||||
/** @return true if the given id is registered in the internal asset DB */
|
||||
bool known (long id) ;
|
||||
|
||||
/**remove the given asset from the internal DB.
|
||||
* <i>together with all its dependants</i>
|
||||
*/
|
||||
void remove (long id) ;///throw(cinelerra::error::Invalid, cinelerra::error::State);
|
||||
};
|
||||
|
||||
} // namespace proc_interface
|
||||
#endif
|
||||
|
|
@ -1,27 +1,14 @@
|
|||
window_sizes 1140 783 270 860 584 120
|
||||
diagrams
|
||||
active classdiagram_ref 130309 // Asset Kinds
|
||||
853 560 100 4 0 2
|
||||
860 584 100 4 0 0
|
||||
end
|
||||
show_stereotypes
|
||||
selected
|
||||
package_ref 129 // cinelerra3
|
||||
package_ref 129 // cinelerra3
|
||||
open
|
||||
|
||||
package_ref 129413 // common
|
||||
deploymentview_ref 128517 // gen
|
||||
artifact_ref 135941 // category
|
||||
artifact_ref 136453 // media
|
||||
artifact_ref 136581 // proc
|
||||
artifact_ref 136709 // struct
|
||||
artifact_ref 136965 // preview
|
||||
artifact_ref 137093 // unknown
|
||||
artifact_ref 137221 // effect
|
||||
artifact_ref 137605 // outport
|
||||
artifact_ref 137477 // track
|
||||
deploymentview_ref 128773 // gen
|
||||
|
||||
package_ref 129797 // gui
|
||||
package_ref 128005 // design
|
||||
class_ref 136453 // Asset
|
||||
class_ref 136581 // AssetManager
|
||||
class_ref 136709 // Media
|
||||
|
|
|
|||
Loading…
Reference in a new issue