DOC: reorganise the Doxygen configuration and structure
- upgrade the configuration to a current version - provide a frontpage with cross-links to other documentation - define a set of modules; relevant classes and files can be added to these, to create a exploration path for new readers - fix a lot of errors in documentation comments - use a custom configuration for the documentation pages - tweak the navigation, the sections and further arrangements
This commit is contained in:
parent
974c670d41
commit
6822a9e2fb
38 changed files with 772 additions and 547 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -23,4 +23,5 @@ semantic.cache
|
||||||
wiki/backups/*
|
wiki/backups/*
|
||||||
doc/devel/draw/*.png
|
doc/devel/draw/*.png
|
||||||
doc/devel/uml/fig128309.png
|
doc/devel/uml/fig128309.png
|
||||||
|
doc/devel/lumiera.tag
|
||||||
m4/*
|
m4/*
|
||||||
|
|
|
||||||
|
|
@ -59,30 +59,30 @@ def DoxyfileParse(file_contents):
|
||||||
data[key][-1] += token
|
data[key][-1] += token
|
||||||
|
|
||||||
while token:
|
while token:
|
||||||
if token in ['\n']:
|
if token in ['\n']:
|
||||||
if last_token not in ['\\']:
|
if last_token not in ['\\']:
|
||||||
key_token = True
|
key_token = True
|
||||||
elif token in ['\\']:
|
elif token in ['\\']:
|
||||||
pass
|
pass
|
||||||
elif key_token:
|
elif key_token:
|
||||||
key = token
|
key = token
|
||||||
key_token = False
|
key_token = False
|
||||||
else:
|
else:
|
||||||
if token == "+=":
|
if token == "+=":
|
||||||
if not data.has_key(key):
|
if not data.has_key(key):
|
||||||
data[key] = list()
|
data[key] = list()
|
||||||
elif token == "=":
|
elif token == "=":
|
||||||
data[key] = list()
|
data[key] = list()
|
||||||
else:
|
else:
|
||||||
append_data( data, key, new_data, token )
|
append_data(data, key, new_data, token)
|
||||||
new_data = True
|
new_data = True
|
||||||
|
|
||||||
last_token = token
|
last_token = token
|
||||||
token = lex.get_token()
|
token = lex.get_token()
|
||||||
|
|
||||||
if last_token == '\\' and token != '\n':
|
if last_token == '\\' and token != '\n':
|
||||||
new_data = False
|
new_data = False
|
||||||
append_data( data, key, new_data, '\\' )
|
append_data(data, key, new_data, '\\')
|
||||||
|
|
||||||
# compress lists of len 1 into single strings
|
# compress lists of len 1 into single strings
|
||||||
for (k, v) in data.items():
|
for (k, v) in data.items():
|
||||||
|
|
|
||||||
0
admin/scons/IconSvgRenderer.py
Executable file → Normal file
0
admin/scons/IconSvgRenderer.py
Executable file → Normal file
|
|
@ -3,7 +3,6 @@
|
||||||
## SConscript - SCons buildscript for Documentation
|
## SConscript - SCons buildscript for Documentation
|
||||||
##
|
##
|
||||||
|
|
||||||
from Buildhelper import scanSubtree
|
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Doxyfile 1.5.6
|
# Doxyfile 1.8.1.2
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Project related configuration options
|
# Project related configuration options
|
||||||
|
|
@ -6,7 +6,9 @@
|
||||||
DOXYFILE_ENCODING = UTF-8
|
DOXYFILE_ENCODING = UTF-8
|
||||||
PROJECT_NAME = Lumiera
|
PROJECT_NAME = Lumiera
|
||||||
PROJECT_NUMBER = 0.1+pre
|
PROJECT_NUMBER = 0.1+pre
|
||||||
OUTPUT_DIRECTORY =
|
PROJECT_BRIEF =
|
||||||
|
PROJECT_LOGO = draw/rendered/LumiLogo-small.png
|
||||||
|
OUTPUT_DIRECTORY =
|
||||||
CREATE_SUBDIRS = NO
|
CREATE_SUBDIRS = NO
|
||||||
OUTPUT_LANGUAGE = English
|
OUTPUT_LANGUAGE = English
|
||||||
BRIEF_MEMBER_DESC = YES
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
|
@ -24,63 +26,62 @@ ABBREVIATE_BRIEF = "The $name class" \
|
||||||
the
|
the
|
||||||
ALWAYS_DETAILED_SEC = YES
|
ALWAYS_DETAILED_SEC = YES
|
||||||
INLINE_INHERITED_MEMB = NO
|
INLINE_INHERITED_MEMB = NO
|
||||||
FULL_PATH_NAMES = YES
|
FULL_PATH_NAMES = NO
|
||||||
STRIP_FROM_PATH = ../../src/ \
|
STRIP_FROM_PATH = ../../src/ \
|
||||||
../../tests/
|
../../tests/
|
||||||
STRIP_FROM_INC_PATH =
|
STRIP_FROM_INC_PATH = ../../src/
|
||||||
SHORT_NAMES = NO
|
SHORT_NAMES = NO
|
||||||
JAVADOC_AUTOBRIEF = YES
|
JAVADOC_AUTOBRIEF = YES
|
||||||
QT_AUTOBRIEF = NO
|
QT_AUTOBRIEF = NO
|
||||||
MULTILINE_CPP_IS_BRIEF = NO
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
DETAILS_AT_TOP = YES
|
|
||||||
INHERIT_DOCS = YES
|
INHERIT_DOCS = YES
|
||||||
SEPARATE_MEMBER_PAGES = NO
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
TAB_SIZE = 4
|
TAB_SIZE = 4
|
||||||
ALIASES =
|
ALIASES =
|
||||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
EXTENSION_MAPPING =
|
||||||
OPTIMIZE_OUTPUT_JAVA = NO
|
MARKDOWN_SUPPORT = YES
|
||||||
OPTIMIZE_FOR_FORTRAN = NO
|
|
||||||
OPTIMIZE_OUTPUT_VHDL = NO
|
|
||||||
BUILTIN_STL_SUPPORT = YES
|
BUILTIN_STL_SUPPORT = YES
|
||||||
CPP_CLI_SUPPORT = NO
|
|
||||||
SIP_SUPPORT = NO
|
|
||||||
IDL_PROPERTY_SUPPORT = YES
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
SUBGROUPING = YES
|
SUBGROUPING = YES
|
||||||
TYPEDEF_HIDES_STRUCT = NO
|
INLINE_GROUPED_CLASSES = NO
|
||||||
|
INLINE_SIMPLE_STRUCTS = YES
|
||||||
|
TYPEDEF_HIDES_STRUCT = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Build related configuration options
|
# Build related configuration options
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
EXTRACT_ALL = NO
|
EXTRACT_ALL = NO
|
||||||
EXTRACT_PRIVATE = YES
|
EXTRACT_PRIVATE = YES
|
||||||
|
EXTRACT_PACKAGE = NO
|
||||||
EXTRACT_STATIC = YES
|
EXTRACT_STATIC = YES
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
EXTRACT_LOCAL_METHODS = NO
|
EXTRACT_ANON_NSPACES = NO
|
||||||
EXTRACT_ANON_NSPACES = YES
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
HIDE_UNDOC_CLASSES = NO
|
HIDE_UNDOC_CLASSES = NO
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
HIDE_IN_BODY_DOCS = NO
|
HIDE_IN_BODY_DOCS = NO
|
||||||
INTERNAL_DOCS = YES
|
INTERNAL_DOCS = YES
|
||||||
CASE_SENSE_NAMES = YES
|
CASE_SENSE_NAMES = YES
|
||||||
HIDE_SCOPE_NAMES = NO
|
HIDE_SCOPE_NAMES = YES
|
||||||
SHOW_INCLUDE_FILES = YES
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
FORCE_LOCAL_INCLUDES = YES
|
||||||
INLINE_INFO = YES
|
INLINE_INFO = YES
|
||||||
SORT_MEMBER_DOCS = NO
|
SORT_MEMBER_DOCS = NO
|
||||||
SORT_BRIEF_DOCS = YES
|
SORT_BRIEF_DOCS = YES
|
||||||
|
SORT_MEMBERS_CTORS_1ST = YES
|
||||||
SORT_GROUP_NAMES = NO
|
SORT_GROUP_NAMES = NO
|
||||||
SORT_BY_SCOPE_NAME = NO
|
SORT_BY_SCOPE_NAME = NO
|
||||||
GENERATE_TODOLIST = NO
|
STRICT_PROTO_MATCHING = NO
|
||||||
GENERATE_TESTLIST = NO
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
GENERATE_BUGLIST = NO
|
GENERATE_BUGLIST = NO
|
||||||
GENERATE_DEPRECATEDLIST= NO
|
GENERATE_DEPRECATEDLIST= NO
|
||||||
ENABLED_SECTIONS =
|
ENABLED_SECTIONS =
|
||||||
MAX_INITIALIZER_LINES = 30
|
MAX_INITIALIZER_LINES = 0
|
||||||
SHOW_USED_FILES = YES
|
SHOW_USED_FILES = YES
|
||||||
SHOW_DIRECTORIES = NO
|
|
||||||
SHOW_FILES = YES
|
SHOW_FILES = YES
|
||||||
SHOW_NAMESPACES = YES
|
SHOW_NAMESPACES = YES
|
||||||
FILE_VERSION_FILTER =
|
FILE_VERSION_FILTER =
|
||||||
|
LAYOUT_FILE =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to warning and progress messages
|
# configuration options related to warning and progress messages
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
@ -88,67 +89,38 @@ QUIET = NO
|
||||||
WARNINGS = YES
|
WARNINGS = YES
|
||||||
WARN_IF_UNDOCUMENTED = NO
|
WARN_IF_UNDOCUMENTED = NO
|
||||||
WARN_IF_DOC_ERROR = YES
|
WARN_IF_DOC_ERROR = YES
|
||||||
WARN_NO_PARAMDOC = YES
|
WARN_NO_PARAMDOC = NO
|
||||||
WARN_FORMAT = "$file:$line: $text"
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
WARN_LOGFILE = warnings.txt
|
WARN_LOGFILE = html/doxygen-warnings.txt
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the input files
|
# configuration options related to the input files
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
INPUT = ../../src/
|
|
||||||
INPUT_ENCODING = UTF-8
|
INPUT_ENCODING = UTF-8
|
||||||
|
INPUT = ../../src/ \
|
||||||
|
../../tests \
|
||||||
|
../../admin/scons
|
||||||
FILE_PATTERNS = *.c \
|
FILE_PATTERNS = *.c \
|
||||||
*.cc \
|
*.cc \
|
||||||
*.cxx \
|
|
||||||
*.cpp \
|
*.cpp \
|
||||||
*.c++ \
|
|
||||||
*.d \
|
|
||||||
*.java \
|
|
||||||
*.ii \
|
|
||||||
*.ixx \
|
|
||||||
*.ipp \
|
|
||||||
*.i++ \
|
|
||||||
*.inl \
|
|
||||||
*.h \
|
*.h \
|
||||||
*.hh \
|
*.hh \
|
||||||
*.hxx \
|
|
||||||
*.hpp \
|
*.hpp \
|
||||||
*.h++ \
|
|
||||||
*.idl \
|
|
||||||
*.odl \
|
|
||||||
*.cs \
|
|
||||||
*.php \
|
|
||||||
*.php3 \
|
|
||||||
*.inc \
|
*.inc \
|
||||||
*.m \
|
|
||||||
*.mm \
|
|
||||||
*.dox \
|
*.dox \
|
||||||
*.py \
|
*.py
|
||||||
*.C \
|
|
||||||
*.CC \
|
|
||||||
*.C++ \
|
|
||||||
*.II \
|
|
||||||
*.I++ \
|
|
||||||
*.H \
|
|
||||||
*.HH \
|
|
||||||
*.H++ \
|
|
||||||
*.CS \
|
|
||||||
*.PHP \
|
|
||||||
*.PHP3 \
|
|
||||||
*.M \
|
|
||||||
*.MM \
|
|
||||||
*.PY
|
|
||||||
RECURSIVE = YES
|
RECURSIVE = YES
|
||||||
EXCLUDE =
|
EXCLUDE =
|
||||||
EXCLUDE_SYMLINKS = YES
|
EXCLUDE_SYMLINKS = YES
|
||||||
EXCLUDE_PATTERNS =
|
EXCLUDE_PATTERNS =
|
||||||
EXCLUDE_SYMBOLS =
|
EXCLUDE_SYMBOLS =
|
||||||
EXAMPLE_PATH =
|
EXAMPLE_PATH =
|
||||||
EXAMPLE_PATTERNS = *
|
EXAMPLE_PATTERNS =
|
||||||
EXAMPLE_RECURSIVE = NO
|
EXAMPLE_RECURSIVE = NO
|
||||||
IMAGE_PATH =
|
IMAGE_PATH =
|
||||||
INPUT_FILTER =
|
INPUT_FILTER =
|
||||||
FILTER_PATTERNS =
|
FILTER_PATTERNS =
|
||||||
FILTER_SOURCE_FILES = NO
|
FILTER_SOURCE_FILES = NO
|
||||||
|
FILTER_SOURCE_PATTERNS =
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to source browsing
|
# configuration options related to source browsing
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
@ -157,14 +129,14 @@ INLINE_SOURCES = NO
|
||||||
STRIP_CODE_COMMENTS = YES
|
STRIP_CODE_COMMENTS = YES
|
||||||
REFERENCED_BY_RELATION = YES
|
REFERENCED_BY_RELATION = YES
|
||||||
REFERENCES_RELATION = YES
|
REFERENCES_RELATION = YES
|
||||||
REFERENCES_LINK_SOURCE = YES
|
REFERENCES_LINK_SOURCE = NO
|
||||||
USE_HTAGS = NO
|
USE_HTAGS = NO
|
||||||
VERBATIM_HEADERS = YES
|
VERBATIM_HEADERS = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the alphabetical class index
|
# configuration options related to the alphabetical class index
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
ALPHABETICAL_INDEX = YES
|
ALPHABETICAL_INDEX = YES
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
COLS_IN_ALPHA_INDEX = 1
|
||||||
IGNORE_PREFIX = lumiera:: \
|
IGNORE_PREFIX = lumiera:: \
|
||||||
lumiera_ \
|
lumiera_ \
|
||||||
lumi_ \
|
lumi_ \
|
||||||
|
|
@ -175,26 +147,27 @@ IGNORE_PREFIX = lumiera:: \
|
||||||
GENERATE_HTML = YES
|
GENERATE_HTML = YES
|
||||||
HTML_OUTPUT = html
|
HTML_OUTPUT = html
|
||||||
HTML_FILE_EXTENSION = .html
|
HTML_FILE_EXTENSION = .html
|
||||||
HTML_HEADER =
|
HTML_HEADER =
|
||||||
HTML_FOOTER =
|
HTML_FOOTER =
|
||||||
HTML_STYLESHEET =
|
HTML_STYLESHEET =
|
||||||
HTML_ALIGN_MEMBERS = YES
|
HTML_EXTRA_FILES =
|
||||||
|
HTML_COLORSTYLE_HUE = 344
|
||||||
|
HTML_COLORSTYLE_SAT = 68
|
||||||
|
HTML_COLORSTYLE_GAMMA = 80
|
||||||
|
HTML_TIMESTAMP = YES
|
||||||
|
HTML_DYNAMIC_SECTIONS = YES
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
GENERATE_HTMLHELP = NO
|
GENERATE_HTMLHELP = NO
|
||||||
GENERATE_DOCSET = NO
|
GENERATE_ECLIPSEHELP = NO
|
||||||
DOCSET_FEEDNAME = "Lumiera Doxygen docs"
|
TOC_EXPAND = YES
|
||||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
|
||||||
HTML_DYNAMIC_SECTIONS = NO
|
|
||||||
CHM_FILE =
|
|
||||||
HHC_LOCATION =
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
CHM_INDEX_ENCODING =
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
DISABLE_INDEX = NO
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = YES
|
GENERATE_TREEVIEW = YES
|
||||||
TREEVIEW_WIDTH = 250
|
TREEVIEW_WIDTH = 200
|
||||||
FORMULA_FONTSIZE = 10
|
ENUM_VALUES_PER_LINE = 1
|
||||||
|
FORMULA_FONTSIZE = 9
|
||||||
|
FORMULA_TRANSPARENT = YES
|
||||||
|
SEARCHENGINE = YES
|
||||||
|
SERVER_BASED_SEARCH = NO
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the LaTeX output
|
# configuration options related to the LaTeX output
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
@ -204,80 +177,58 @@ LATEX_CMD_NAME = latex
|
||||||
MAKEINDEX_CMD_NAME = makeindex
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
COMPACT_LATEX = YES
|
COMPACT_LATEX = YES
|
||||||
PAPER_TYPE = a4wide
|
PAPER_TYPE = a4wide
|
||||||
EXTRA_PACKAGES =
|
EXTRA_PACKAGES =
|
||||||
LATEX_HEADER =
|
LATEX_HEADER =
|
||||||
|
LATEX_FOOTER =
|
||||||
PDF_HYPERLINKS = YES
|
PDF_HYPERLINKS = YES
|
||||||
USE_PDFLATEX = YES
|
USE_PDFLATEX = YES
|
||||||
LATEX_BATCHMODE = YES
|
LATEX_BATCHMODE = YES
|
||||||
LATEX_HIDE_INDICES = NO
|
LATEX_HIDE_INDICES = NO
|
||||||
|
LATEX_SOURCE_CODE = NO
|
||||||
|
LATEX_BIB_STYLE = plain
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the RTF output
|
# configuration options related to other output formats
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
GENERATE_RTF = NO
|
GENERATE_RTF = NO
|
||||||
RTF_OUTPUT = rtf
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
GENERATE_MAN = NO
|
||||||
MAN_OUTPUT = man
|
|
||||||
MAN_EXTENSION = .3
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
GENERATE_XML = NO
|
||||||
XML_OUTPUT = xml
|
|
||||||
XML_SCHEMA =
|
|
||||||
XML_DTD =
|
|
||||||
XML_PROGRAMLISTING = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the Perl module output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_PERLMOD = NO
|
GENERATE_PERLMOD = NO
|
||||||
PERLMOD_LATEX = NO
|
|
||||||
PERLMOD_PRETTY = YES
|
|
||||||
PERLMOD_MAKEVAR_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to the preprocessor
|
# Configuration options related to the preprocessor
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
ENABLE_PREPROCESSING = YES
|
ENABLE_PREPROCESSING = YES
|
||||||
MACRO_EXPANSION = NO
|
MACRO_EXPANSION = NO
|
||||||
EXPAND_ONLY_PREDEF = NO
|
EXPAND_ONLY_PREDEF = NO
|
||||||
SEARCH_INCLUDES = YES
|
SEARCH_INCLUDES = YES
|
||||||
INCLUDE_PATH =
|
INCLUDE_PATH =
|
||||||
INCLUDE_FILE_PATTERNS =
|
INCLUDE_FILE_PATTERNS =
|
||||||
PREDEFINED =
|
PREDEFINED =
|
||||||
EXPAND_AS_DEFINED =
|
EXPAND_AS_DEFINED =
|
||||||
SKIP_FUNCTION_MACROS = YES
|
SKIP_FUNCTION_MACROS = YES
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration::additions related to external references
|
# Configuration::additions related to external references
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
TAGFILES =
|
TAGFILES =
|
||||||
GENERATE_TAGFILE =
|
GENERATE_TAGFILE = lumiera.tag
|
||||||
ALLEXTERNALS = NO
|
ALLEXTERNALS = NO
|
||||||
EXTERNAL_GROUPS = YES
|
EXTERNAL_GROUPS = YES
|
||||||
PERL_PATH = /usr/bin/perl
|
PERL_PATH = /usr/bin/perl
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Configuration options related to the dot tool
|
# Configuration options related to the dot tool
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
CLASS_DIAGRAMS = YES
|
CLASS_DIAGRAMS = YES
|
||||||
MSCGEN_PATH =
|
MSCGEN_PATH =
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
HAVE_DOT = YES
|
HAVE_DOT = YES
|
||||||
DOT_FONTNAME = FreeSans
|
DOT_FONTNAME = FreeSans
|
||||||
DOT_FONTPATH =
|
DOT_FONTSIZE = 8
|
||||||
|
DOT_FONTPATH =
|
||||||
CLASS_GRAPH = YES
|
CLASS_GRAPH = YES
|
||||||
COLLABORATION_GRAPH = YES
|
COLLABORATION_GRAPH = YES
|
||||||
GROUP_GRAPHS = YES
|
GROUP_GRAPHS = YES
|
||||||
UML_LOOK = YES
|
UML_LOOK = YES
|
||||||
|
UML_LIMIT_NUM_FIELDS = 8
|
||||||
TEMPLATE_RELATIONS = YES
|
TEMPLATE_RELATIONS = YES
|
||||||
INCLUDE_GRAPH = NO
|
INCLUDE_GRAPH = NO
|
||||||
INCLUDED_BY_GRAPH = NO
|
INCLUDED_BY_GRAPH = NO
|
||||||
|
|
@ -285,16 +236,11 @@ CALL_GRAPH = YES
|
||||||
CALLER_GRAPH = YES
|
CALLER_GRAPH = YES
|
||||||
GRAPHICAL_HIERARCHY = NO
|
GRAPHICAL_HIERARCHY = NO
|
||||||
DIRECTORY_GRAPH = YES
|
DIRECTORY_GRAPH = YES
|
||||||
DOT_IMAGE_FORMAT = png
|
DOT_IMAGE_FORMAT = svg
|
||||||
DOT_PATH =
|
INTERACTIVE_SVG = YES
|
||||||
DOTFILE_DIRS =
|
DOT_GRAPH_MAX_NODES = 80
|
||||||
DOT_GRAPH_MAX_NODES = 50
|
|
||||||
MAX_DOT_GRAPH_DEPTH = 1000
|
MAX_DOT_GRAPH_DEPTH = 1000
|
||||||
DOT_TRANSPARENT = NO
|
DOT_TRANSPARENT = YES
|
||||||
DOT_MULTI_TARGETS = YES
|
DOT_MULTI_TARGETS = YES
|
||||||
GENERATE_LEGEND = YES
|
GENERATE_LEGEND = YES
|
||||||
DOT_CLEANUP = YES
|
DOT_CLEANUP = YES
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::additions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
|
|
|
||||||
190
doc/devel/DoxygenLayout.xml
Normal file
190
doc/devel/DoxygenLayout.xml
Normal file
|
|
@ -0,0 +1,190 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title="Lumiera API Documentation"/>
|
||||||
|
<tab type="user" url="http://Lumiera.org/documentation/user/intro/intro.html" title="Intro"/>
|
||||||
|
<tab type="user" url="http://Lumiera.org/documentation/technical/overview.html" title="Overview"/>
|
||||||
|
<tab type="modules" visible="yes" title="" intro="Subsystems"/>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="no" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="pages" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="no"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<detaileddescription title="Description"/>
|
||||||
|
<memberdecl>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="no"/>
|
||||||
|
<detaileddescription title="Description"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="no"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<detaileddescription title="Description"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<memberdecl>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<memberdef>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="no"/>
|
||||||
|
<detaileddescription title="Description"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 9.1 KiB |
|
|
@ -1,5 +1,7 @@
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
= Documentation =
|
// Menu : append child 'doxy'
|
||||||
|
|
||||||
This documentation section contains documentation for both users and developers.
|
This documentation section contains documentation for both users and developers.
|
||||||
|
|
||||||
|
|
@ -32,6 +34,11 @@ moved over to the documentation section(s) of the Lumiera website.
|
||||||
|
|
||||||
-> access the Proc-Layer link:http://lumiera.org/wiki/renderengine.html[TiddlyWiki online here]
|
-> access the Proc-Layer link:http://lumiera.org/wiki/renderengine.html[TiddlyWiki online here]
|
||||||
|
|
||||||
|
=== API Documentation ===
|
||||||
|
We use the link:http://www.doxygen.org/index.html[Doxygen] tool to extract
|
||||||
|
code comments and generate code level API and reference documentation.
|
||||||
|
|
||||||
|
-> link:http://lumiera.org/doxy/index.html[Doxygen generated documentation]
|
||||||
|
|
||||||
== Media and Presentations ==
|
== Media and Presentations ==
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,8 @@ namespace engine {
|
||||||
* handed over to the scheduler for time-bound or bandwidth-controlled
|
* handed over to the scheduler for time-bound or bandwidth-controlled
|
||||||
* execution
|
* execution
|
||||||
*
|
*
|
||||||
|
* @ingroup engine
|
||||||
|
* @ingroup scheduler
|
||||||
* @todo this is planned to become the frontend
|
* @todo this is planned to become the frontend
|
||||||
* to the render node network, which can be considered
|
* to the render node network, which can be considered
|
||||||
* at the lower end of the middle layer; the actual
|
* at the lower end of the middle layer; the actual
|
||||||
|
|
|
||||||
|
|
@ -126,13 +126,14 @@ lumiera_resourcecollector_destroy (void);
|
||||||
* (to find out about the device) for STORAGE and CACHE resources
|
* (to find out about the device) for STORAGE and CACHE resources
|
||||||
* @return either returns 1 or calls _exit()
|
* @return either returns 1 or calls _exit()
|
||||||
*
|
*
|
||||||
* @example
|
* @code
|
||||||
* void* data;
|
* void* data;
|
||||||
* size_t size = 1000;
|
* size_t size = 1000;
|
||||||
* enum lumiera_resource_try iteration = LUMIERA_RESOURCE_ONE;
|
* enum lumiera_resource_try iteration = LUMIERA_RESOURCE_ONE;
|
||||||
* do {
|
* do {
|
||||||
* data = malloc (size);
|
* data = malloc (size);
|
||||||
* } while (!data && lumiera_resourcecollector_run (LUMIERA_RESOURCE_MEMORY, &iteration, &size));
|
* } while (!data && lumiera_resourcecollector_run (LUMIERA_RESOURCE_MEMORY, &iteration, &size));
|
||||||
|
* @endcode
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
lumiera_resourcecollector_run (enum lumiera_resource which, enum lumiera_resource_try* iteration, void* context);
|
lumiera_resourcecollector_run (enum lumiera_resource which, enum lumiera_resource_try* iteration, void* context);
|
||||||
|
|
|
||||||
101
src/doxygen.dox
Normal file
101
src/doxygen.dox
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
/*
|
||||||
|
DOXYGEN.dox - font page for the Doxygen API documentation
|
||||||
|
|
||||||
|
|
||||||
|
Copyright (C) Lumiera.org
|
||||||
|
2013, Hermann Vosseler <Ichthyostega@web.de>
|
||||||
|
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.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** @mainpage Lumiera API Documentation
|
||||||
|
|
||||||
|
This section contains the API and reference documentation
|
||||||
|
of the Lumiera code base. It is generated automatically from the
|
||||||
|
source code comments.
|
||||||
|
|
||||||
|
Lumiera Documentation Structure
|
||||||
|
===============================
|
||||||
|
Lumiera comes with extensive documentation, which is organised into several tiers or layers,
|
||||||
|
according to the target audience, the degree of detail and the level of technicality.
|
||||||
|
Mostly, the sources of the documentation are kept in-tree; documentation pages are generated
|
||||||
|
with the *ASCIIDOC* tool and published at the [Lumiera website](http://Lumiera.org/documentation)
|
||||||
|
|
||||||
|
- as a general introduction, you should read the [»outer space« document](http://Lumiera.org/documentation/user/intro/intro.html)
|
||||||
|
- further user documentation -- mostly tutorials -- is available in the [user section](http://Lumiera.org/documentation/user/)
|
||||||
|
- Architecture and specification documents can be found in the [design section](http://www.lumiera.org/documentation/design/)
|
||||||
|
- fundamental discussions and decisions are documented in the form of [RfC entries](http://www.lumiera.org/documentation/devel/design_process.html)
|
||||||
|
- as entrance to the *technical level*, developers should read the [»inner core«](http://www.lumiera.org/documentation/technical/overview.html) document
|
||||||
|
- from there, various pages in the [technical documentation](http://www.lumiera.org/documentation/technical) detail specific aspects
|
||||||
|
of implementation and technology. They treat some topics in a coherent fashion and introduce the concepts and abstractions
|
||||||
|
necessary to understand the actual code
|
||||||
|
- right now, you are looking at the **API Documentation**, which is the entrance point to the actual code
|
||||||
|
- on your exploration path down to the internal details, you might want to follow the overview given
|
||||||
|
+ by the [Layer and Subsystem](modules.html) overview
|
||||||
|
+ the file level comments of relevant interfaces
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ==== Layers ==== */
|
||||||
|
|
||||||
|
/** @defgroup backend Backend-Layer
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup proc Proc-Layer
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup gui Graphical User Interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ==== Subsystems ==== */
|
||||||
|
|
||||||
|
/** @defgroup asset Asset Management
|
||||||
|
@ingroup proc
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup session Session
|
||||||
|
@ingroup proc
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup player Playback and Render Control
|
||||||
|
@ingroup proc
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup engine Render Engine
|
||||||
|
@ingroup proc
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @defgroup scheduler Scheduler
|
||||||
|
@ingroup backend
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* ==== Global Namespaces ==== */
|
||||||
|
|
||||||
|
/** @namespace lumiera
|
||||||
|
Lumiera public interface.
|
||||||
|
Global interfaces and facilities accessible from plugins and scripts.
|
||||||
|
It's probably a good idea to pull it in explicitly and to avoid nesting
|
||||||
|
implementation namespaces within \c lumiera::
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** @namespace lib
|
||||||
|
Implementation namespace for support and library code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
@ -59,7 +59,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Definition of the layout track tree type.
|
* Definition of the layout track tree type.
|
||||||
*/
|
*/
|
||||||
typedef lumiera::tree< std::tr1::shared_ptr<model::Track> > TrackTree;
|
typedef lib::Tree< std::tr1::shared_ptr<model::Track> > TrackTree;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,7 @@ namespace lumiera {
|
||||||
* Global access point for starting playback and render processes,
|
* Global access point for starting playback and render processes,
|
||||||
* calculating media data by running the render engine.
|
* calculating media data by running the render engine.
|
||||||
*
|
*
|
||||||
|
* @ingroup player
|
||||||
* @todo WIP-WIP-WIP 6/2011
|
* @todo WIP-WIP-WIP 6/2011
|
||||||
* @note Lumiera is not yet able actually to deliver rendered data.
|
* @note Lumiera is not yet able actually to deliver rendered data.
|
||||||
* @todo there should be an accompanying CL Interface defined for
|
* @todo there should be an accompanying CL Interface defined for
|
||||||
|
|
@ -90,6 +91,7 @@ namespace lumiera {
|
||||||
* through this handle (by ref count). Client code is supposed to use the
|
* through this handle (by ref count). Client code is supposed to use the
|
||||||
* API on this handle to navigate and control the playback mode.
|
* API on this handle to navigate and control the playback mode.
|
||||||
*
|
*
|
||||||
|
* @ingroup player
|
||||||
* @see handle.hpp
|
* @see handle.hpp
|
||||||
* @see player-service.cpp implementation
|
* @see player-service.cpp implementation
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,8 @@ This code is heavily inspired by
|
||||||
** work besides releasing references, and we acknowledge that singletons can be released
|
** work besides releasing references, and we acknowledge that singletons can be released
|
||||||
** in \em arbitrary order.
|
** in \em arbitrary order.
|
||||||
**
|
**
|
||||||
** @see Depend
|
** @see lib::Depend
|
||||||
** @see DependencyFactory
|
** @see lib::DependencyFactory
|
||||||
** @see lib::test::Depend4Test
|
** @see lib::test::Depend4Test
|
||||||
** @see singleton-test.cpp
|
** @see singleton-test.cpp
|
||||||
** @see dependency-factory-test.cpp
|
** @see dependency-factory-test.cpp
|
||||||
|
|
@ -99,8 +99,6 @@ namespace lib {
|
||||||
* To my understanding, the answer is yes. See
|
* To my understanding, the answer is yes. See
|
||||||
* [POSIX](http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_10)
|
* [POSIX](http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap04.html#tag_04_10)
|
||||||
* @param SI the class of the Singleton instance
|
* @param SI the class of the Singleton instance
|
||||||
* @param Create policy defining how to create/destroy the instance
|
|
||||||
* @param Life policy defining how to manage Singleton Lifecycle
|
|
||||||
*/
|
*/
|
||||||
template<class SI>
|
template<class SI>
|
||||||
class Depend
|
class Depend
|
||||||
|
|
|
||||||
|
|
@ -617,9 +617,9 @@ namespace lib {
|
||||||
|
|
||||||
/** explicit builder to allow creating a const variant from the basic srcIter type.
|
/** explicit builder to allow creating a const variant from the basic srcIter type.
|
||||||
* Again, the reason necessitating this "backdoor" is that we want to swallow one level
|
* Again, the reason necessitating this "backdoor" is that we want to swallow one level
|
||||||
* of indirection. Generally speaking \code const T ** \endcode is not the same as
|
* of indirection. Generally speaking `const T **` is not the same as `T * const *`,
|
||||||
* \code T * const * \endcode, but in our specific case the API ensures that a
|
* but in our specific case the API ensures that a `PtrDerefIter<WrappedConstIterType>`
|
||||||
* PtrDerefIter<WrappedConstIterType> only exposes const elements.
|
* only exposes const elements.
|
||||||
*/
|
*/
|
||||||
static PtrDerefIter
|
static PtrDerefIter
|
||||||
build_by_cast (WrappedIterType const& srcIter)
|
build_by_cast (WrappedIterType const& srcIter)
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,9 @@
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
|
||||||
|
* *****************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "lib/lockerror.h"
|
#include "lib/lockerror.h"
|
||||||
|
|
||||||
|
|
@ -29,7 +31,7 @@ LUMIERA_ERROR_DEFINE (LOCK_RELEASE, "unlocking failed");
|
||||||
LUMIERA_ERROR_DEFINE (LOCK_DESTROY, "lock destroy failed");
|
LUMIERA_ERROR_DEFINE (LOCK_DESTROY, "lock destroy failed");
|
||||||
|
|
||||||
/* runtime errors */
|
/* runtime errors */
|
||||||
LUMIERA_ERROR_DEFINE (LOCK_INVAL, "lock initialization error");
|
LUMIERA_ERROR_DEFINE (LOCK_INVAL, "lock initialisation error");
|
||||||
LUMIERA_ERROR_DEFINE (LOCK_BUSY, "already locked");
|
LUMIERA_ERROR_DEFINE (LOCK_BUSY, "already locked");
|
||||||
LUMIERA_ERROR_DEFINE (LOCK_DEADLK, "already locked by this thread");
|
LUMIERA_ERROR_DEFINE (LOCK_DEADLK, "already locked by this thread");
|
||||||
LUMIERA_ERROR_DEFINE (LOCK_PERM, "not locked by this thread");
|
LUMIERA_ERROR_DEFINE (LOCK_PERM, "not locked by this thread");
|
||||||
|
|
|
||||||
|
|
@ -196,8 +196,8 @@ namespace lib {
|
||||||
* or cleared afterwards, and this #empty() state may be detected
|
* or cleared afterwards, and this #empty() state may be detected
|
||||||
* at runtime. In a similar vein, when the stored object has a
|
* at runtime. In a similar vein, when the stored object has a
|
||||||
* \c bool validity check, this can be accessed though #isValid().
|
* \c bool validity check, this can be accessed though #isValid().
|
||||||
* Moreover \code !empty() && isValid() \endcode may be tested
|
* Moreover `!empty() && isValid()` may be tested as by `bool`
|
||||||
* as by \bool conversion of the Holder object. The whole compound
|
* conversion of the Holder object. The whole compound
|
||||||
* is copyable if and only if the contained object is copyable.
|
* is copyable if and only if the contained object is copyable.
|
||||||
*
|
*
|
||||||
* @note assertion failure when trying to place an instance not
|
* @note assertion failure when trying to place an instance not
|
||||||
|
|
|
||||||
|
|
@ -37,18 +37,18 @@
|
||||||
*
|
*
|
||||||
* This user defined macro shall be undefed after use.
|
* This user defined macro shall be undefed after use.
|
||||||
*
|
*
|
||||||
* @example
|
* @code
|
||||||
* #define PPMPL_FOREACH_P1_FOO(arg) arg,
|
* #define PPMPL_FOREACH_P1_FOO(arg) arg,
|
||||||
*
|
*
|
||||||
* {PPMPL_FOREACH(P1, FOO(1), FOO(2), FOO(3)), -1}
|
* {PPMPL_FOREACH(P1, FOO(1), FOO(2), FOO(3)), -1}
|
||||||
*
|
*
|
||||||
* #undef PPMPL_FOREACH_P1_FOO
|
* #undef PPMPL_FOREACH_P1_FOO
|
||||||
|
* @endcode
|
||||||
*
|
*
|
||||||
* Would expand to the sequence:
|
* This definition would be expanded to the sequence `{1, 2, 3, -1}`
|
||||||
* {1, 2, 3, -1}
|
|
||||||
*
|
*
|
||||||
* One can not recursively nest preprocessor macros. To allow this we define PPMPL_FOREACH_L1
|
* One can not recursively nest preprocessor macros. To allow this we define PPMPL_FOREACH_L1
|
||||||
* to PPMPL_FOREACH_L2 with the same semantics as PPMPL_FOREACH, This allowes to nest the
|
* to PPMPL_FOREACH_L2 with the same semantics as PPMPL_FOREACH, This allows to nest the
|
||||||
* FOREACH loop up to three nesting levels.
|
* FOREACH loop up to three nesting levels.
|
||||||
*/
|
*/
|
||||||
#define PPMPL_FOREACH(p, ...) PPMPL_FOREACH0(p, __VA_ARGS__, PPMPL_FOREACH_NIL))
|
#define PPMPL_FOREACH(p, ...) PPMPL_FOREACH0(p, __VA_ARGS__, PPMPL_FOREACH_NIL))
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,7 @@ namespace lib {
|
||||||
/** (preliminary) helper: instead of really parsing and evaluating the terms,
|
/** (preliminary) helper: instead of really parsing and evaluating the terms,
|
||||||
* just do a regular expression match to extract the literal argument
|
* just do a regular expression match to extract the literal argument
|
||||||
* behind the given predicate symbol. e.g calling
|
* behind the given predicate symbol. e.g calling
|
||||||
* \code extractID ("stream", "id(abc), stream(mpeg)") \endcode
|
* `extractID ("stream", "id(abc), stream(mpeg)")` yields \c "mpeg"
|
||||||
* yields \c "mpeg"
|
|
||||||
*/
|
*/
|
||||||
string
|
string
|
||||||
extractID (Symbol sym, const string& termString)
|
extractID (Symbol sym, const string& termString)
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@
|
||||||
** @see mutex.h
|
** @see mutex.h
|
||||||
** @see sync-locking-test.cpp
|
** @see sync-locking-test.cpp
|
||||||
** @see sync-waiting-test.cpp
|
** @see sync-waiting-test.cpp
|
||||||
** @see asset::AssetManager::reg() usage example
|
** @see \ref asset::AssetManager::reg() "usage example: asset registration"
|
||||||
** @see subsystemrunner.hpp usage example
|
** @see \ref subsystem-runner.hpp "usage example: subsystem start/shutdown"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -74,6 +74,7 @@ extern "C" {
|
||||||
#include "lib/lockerror.h"
|
#include "lib/lockerror.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <boost/noncopyable.hpp>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <cerrno>
|
#include <cerrno>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
|
@ -421,7 +422,11 @@ namespace lib {
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*****************************************//**
|
||||||
|
* scoped object to control the actual locking.
|
||||||
|
*/
|
||||||
class Lock
|
class Lock
|
||||||
|
: boost::noncopyable
|
||||||
{
|
{
|
||||||
Monitor& mon_;
|
Monitor& mon_;
|
||||||
|
|
||||||
|
|
|
||||||
497
src/lib/tree.hpp
497
src/lib/tree.hpp
File diff suppressed because it is too large
Load diff
|
|
@ -29,7 +29,7 @@
|
||||||
** Values can be stored using \c operator= . In order to access the value
|
** Values can be stored using \c operator= . In order to access the value
|
||||||
** stored in lib::Variant, you additionally need to define a "functor"
|
** stored in lib::Variant, you additionally need to define a "functor"
|
||||||
** - with a typedef "Ret" for the return type
|
** - with a typedef "Ret" for the return type
|
||||||
** - providing a \code static Ret access(ELM&) \endcode function
|
** - providing a `static Ret access(ELM&)` function
|
||||||
** for each of the types used in the Variant</li>
|
** for each of the types used in the Variant</li>
|
||||||
**
|
**
|
||||||
** @todo the instance handling for the accessor seems somewhat
|
** @todo the instance handling for the accessor seems somewhat
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ Credits for many further implementation ideas go to
|
||||||
** on some treat(VisitableInterface&) function.</li>
|
** on some treat(VisitableInterface&) function.</li>
|
||||||
** <li>any concrete Visitable subclass wanting to be treated by some concrete tool
|
** <li>any concrete Visitable subclass wanting to be treated by some concrete tool
|
||||||
** needs to use the DECLARE_PROCESSABLE_BY(TOOLBASE) macro. By this, it gets an
|
** needs to use the DECLARE_PROCESSABLE_BY(TOOLBASE) macro. By this, it gets an
|
||||||
** virtual \code apply(TOOLBASE&) function. Otherwise, it will be treated by the
|
** virtual `apply(TOOLBASE&)` function. Otherwise, it will be treated by the
|
||||||
** interface of the next base class using this macro.</li>
|
** interface of the next base class using this macro.</li>
|
||||||
** </ul>
|
** </ul>
|
||||||
** For design questions and more detailed implementation notes, see the Proc Layer Tiddly Wiki.
|
** For design questions and more detailed implementation notes, see the Proc Layer Tiddly Wiki.
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @file asset.hpp
|
/** @file asset.hpp
|
||||||
|
** @ingroup asset
|
||||||
** Proc-Layer Interface: Assets.
|
** Proc-Layer Interface: Assets.
|
||||||
** Declares the Asset top level Interface, the Asset::Ident identification tuple
|
** Declares the Asset top level Interface, the Asset::Ident identification tuple
|
||||||
** and the asset::ID primary key wrapper. Normally, Assets should be handled
|
** and the asset::ID primary key wrapper. Normally, Assets should be handled
|
||||||
|
|
@ -45,7 +46,7 @@
|
||||||
** (Implementation detail: as g++ is not able to handle member function template
|
** (Implementation detail: as g++ is not able to handle member function template
|
||||||
** instantiations completely automatic, we need to trigger some template instantiations
|
** instantiations completely automatic, we need to trigger some template instantiations
|
||||||
** at the end of assetmanager.cpp )
|
** at the end of assetmanager.cpp )
|
||||||
**
|
**
|
||||||
** @see assetmanager.hpp
|
** @see assetmanager.hpp
|
||||||
** @see media.hpp
|
** @see media.hpp
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,11 @@
|
||||||
|
|
||||||
/** @file media.hpp
|
/** @file media.hpp
|
||||||
** Media data is a specific kind of Asset.
|
** Media data is a specific kind of Asset.
|
||||||
** For the different <i>kinds</i> of Assets, we use sub-intefaces inheriting
|
** For the different <i>kinds</i> of Assets, we use sub-interfaces inheriting
|
||||||
** from the general Asset interface. To be able to get asset::Media instances
|
** from the general Asset interface. To be able to get asset::Media instances
|
||||||
** directly from the AssetManager, we define a specialization of the Asset ID.
|
** directly from the AssetManager, we define a specialisation of the Asset ID.
|
||||||
**
|
**
|
||||||
|
** @ingroup asset
|
||||||
** @see asset.hpp for explanation
|
** @see asset.hpp for explanation
|
||||||
** @see MediaFactory creating concrete asset::Media instances
|
** @see MediaFactory creating concrete asset::Media instances
|
||||||
**
|
**
|
||||||
|
|
@ -119,7 +120,7 @@ namespace asset {
|
||||||
|
|
||||||
/** predicate to decide if this asset::Media
|
/** predicate to decide if this asset::Media
|
||||||
* is part of a compound (multichannel) media.
|
* is part of a compound (multichannel) media.
|
||||||
* @return pointer to parent, or \code null
|
* @return pointer to parent, or `null`
|
||||||
*/
|
*/
|
||||||
virtual PMedia checkCompound () const;
|
virtual PMedia checkCompound () const;
|
||||||
friend class proc::asset::Clip; ////////////////////////TODO better interface!!!
|
friend class proc::asset::Clip; ////////////////////////TODO better interface!!!
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
** or changed metadata entry, finally \em committing this builder to yield a new
|
** or changed metadata entry, finally \em committing this builder to yield a new
|
||||||
** asset::Meta (which, in case of a mutation, might supersede an existing one).
|
** asset::Meta (which, in case of a mutation, might supersede an existing one).
|
||||||
**
|
**
|
||||||
|
** @ingroup asset
|
||||||
** @see asset.hpp explanation of assets in general
|
** @see asset.hpp explanation of assets in general
|
||||||
** @see MetaFactory creating concrete asset::Meta instances
|
** @see MetaFactory creating concrete asset::Meta instances
|
||||||
**
|
**
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
** from the general Asset interface. To be able to get asset::Proc instances
|
** from the general Asset interface. To be able to get asset::Proc instances
|
||||||
** directly from the AssetManager, we define a specialisation of the Asset ID.
|
** directly from the AssetManager, we define a specialisation of the Asset ID.
|
||||||
**
|
**
|
||||||
|
** @ingroup asset
|
||||||
** @see asset.hpp for explanation
|
** @see asset.hpp for explanation
|
||||||
** @see ProcFactory creating concrete asset::Proc instances
|
** @see ProcFactory creating concrete asset::Proc instances
|
||||||
**
|
**
|
||||||
|
|
@ -66,6 +67,8 @@ namespace asset {
|
||||||
/**
|
/**
|
||||||
* key abstraction: data processing asset
|
* key abstraction: data processing asset
|
||||||
* @todo just a stub, have to figure out what a asset::Proc is
|
* @todo just a stub, have to figure out what a asset::Proc is
|
||||||
|
* @ingroup asset
|
||||||
|
* @ingroup session
|
||||||
*/
|
*/
|
||||||
class Proc : public Asset
|
class Proc : public Asset
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
** all placements referring to this track, which could be sub tracks, clips,
|
** all placements referring to this track, which could be sub tracks, clips,
|
||||||
** effects, automation or labels.
|
** effects, automation or labels.
|
||||||
**
|
**
|
||||||
|
** @ingroup asset
|
||||||
** @see asset.hpp for explanation regarding asset IDs
|
** @see asset.hpp for explanation regarding asset IDs
|
||||||
** @see StructFactory creating concrete asset::Struct instances
|
** @see StructFactory creating concrete asset::Struct instances
|
||||||
**
|
**
|
||||||
|
|
|
||||||
|
|
@ -50,27 +50,6 @@
|
||||||
#include "lib/error.hpp" // pulls in NoBug via loggging.h
|
#include "lib/error.hpp" // pulls in NoBug via loggging.h
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lumiera public interface.
|
|
||||||
* Global interfaces and facilities accessible from plugins and scripts.
|
|
||||||
* It's probably a good idea to pull it in explicitly and to avoid nesting
|
|
||||||
* implementation namespaces within \c lumiera::
|
|
||||||
*/
|
|
||||||
namespace lumiera {
|
|
||||||
|
|
||||||
/* additional global configuration goes here... */
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace lumiera
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implementation namespace for support and library code.
|
|
||||||
*/
|
|
||||||
namespace lib {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Proc-Layer implementation namespace root.
|
* Proc-Layer implementation namespace root.
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@
|
||||||
** switch and continuation; under the hood, there is a mechanism to discard resources
|
** switch and continuation; under the hood, there is a mechanism to discard resources
|
||||||
** tied to the original CalcStream, once the switch to the new definition is complete.
|
** tied to the original CalcStream, once the switch to the new definition is complete.
|
||||||
**
|
**
|
||||||
|
** @ingroup engine
|
||||||
** @see EngineInterface_test
|
** @see EngineInterface_test
|
||||||
** @see CalcStream_test
|
** @see CalcStream_test
|
||||||
** @see proc::play::PlayerService
|
** @see proc::play::PlayerService
|
||||||
|
|
@ -94,6 +95,8 @@ namespace engine{
|
||||||
* backend layer. The implementation of this service is
|
* backend layer. The implementation of this service is
|
||||||
* responsible for creating the right job entries in the
|
* responsible for creating the right job entries in the
|
||||||
* correct order and to enqueue these into the scheduler.
|
* correct order and to enqueue these into the scheduler.
|
||||||
|
* @ingroup engine
|
||||||
|
* @ingroup player
|
||||||
*/
|
*/
|
||||||
class EngineService
|
class EngineService
|
||||||
: boost::noncopyable
|
: boost::noncopyable
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ namespace mobject {
|
||||||
* All the contents and elements that can be placed and
|
* All the contents and elements that can be placed and
|
||||||
* manipulated and finally rendered within Lumiera's
|
* manipulated and finally rendered within Lumiera's
|
||||||
* high-level model and Session are MObjects.
|
* high-level model and Session are MObjects.
|
||||||
|
* @ingroup session
|
||||||
*/
|
*/
|
||||||
class MObject
|
class MObject
|
||||||
: public Buildable,
|
: public Buildable,
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
/** @file session.hpp
|
/** @file session.hpp
|
||||||
|
** @ingroup session
|
||||||
** Primary Interface to the current Session.
|
** Primary Interface to the current Session.
|
||||||
** The session interface can be used to discover session's contents.
|
** The session interface can be used to discover session's contents.
|
||||||
** Mostly, these objects within the session are MObject subclasses, but they
|
** Mostly, these objects within the session are MObject subclasses, but they
|
||||||
|
|
@ -101,7 +102,8 @@ namespace mobject {
|
||||||
* a reference to the SessManager and is accessible as the static
|
* a reference to the SessManager and is accessible as the static
|
||||||
* field Session::current). Clients shouldn't try to get a direct
|
* field Session::current). Clients shouldn't try to get a direct
|
||||||
* pointer or reference to the Session object.
|
* pointer or reference to the Session object.
|
||||||
*
|
* @ingroup session
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
class Session
|
class Session
|
||||||
: boost::noncopyable
|
: boost::noncopyable
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ namespace session {
|
||||||
* @return MObject ref to the fist suitable element. Might be an empty MObjectRef.
|
* @return MObject ref to the fist suitable element. Might be an empty MObjectRef.
|
||||||
* @note the embedded MObject subtype (MO) causes an additional filtering
|
* @note the embedded MObject subtype (MO) causes an additional filtering
|
||||||
* on that specific kind of MObject (e.g. considering just Clips)
|
* on that specific kind of MObject (e.g. considering just Clips)
|
||||||
* @warning be sure the passed predicate actually takes a \code Placement<XX> const& \endcode
|
* @warning be sure the passed predicate actually takes a `Placement<XX> const&`
|
||||||
* with XX being the correct type. Note the \c const& -- Failing to do so shows up as
|
* with XX being the correct type. Note the \c const& -- Failing to do so shows up as
|
||||||
* compiler error "no suitable function pick(.....)"
|
* compiler error "no suitable function pick(.....)"
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ namespace mobject {
|
||||||
*
|
*
|
||||||
* Consequently, if you want to talk to the <i>session manager,</i>
|
* Consequently, if you want to talk to the <i>session manager,</i>
|
||||||
* you use dot-notation, while you access the <i>session object</i>
|
* you use dot-notation, while you access the <i>session object</i>
|
||||||
* via arrow notation (e.g. \code Session::current->getFixture() )
|
* via arrow notation (e.g. `Session::current->getFixture()` )
|
||||||
*/
|
*/
|
||||||
SessManager& Session::current = lib::Depend<SessManagerImpl>()();
|
SessManager& Session::current = lib::Depend<SessManagerImpl>()();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ namespace play {
|
||||||
|
|
||||||
/** real time deadline for the given frame, without any latency.
|
/** real time deadline for the given frame, without any latency.
|
||||||
* This value is provided in case of scheduled time of delivery,
|
* This value is provided in case of scheduled time of delivery,
|
||||||
* which is signalled by \code playbackUrgency == TIMEBOUND \endcode
|
* which is signalled by `playbackUrgency == TIMEBOUND`
|
||||||
* @return wall clock time to expect delivery of data
|
* @return wall clock time to expect delivery of data
|
||||||
* corresponding to a frame specified relative
|
* corresponding to a frame specified relative
|
||||||
* to \link #getOrigin time axis origin \endlink
|
* to \link #getOrigin time axis origin \endlink
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,7 @@ namespace test{
|
||||||
* or a custom allocator.
|
* or a custom allocator.
|
||||||
*
|
*
|
||||||
* @todo this test doesn't cover automatic conversions and conversions using RTTI
|
* @todo this test doesn't cover automatic conversions and conversions using RTTI
|
||||||
* from the target objects, while \code OpaqueHolder.template get() \endcode
|
* from the target objects, while `OpaqueHolder.template get()`
|
||||||
* would allow for such conversions. This is similar to Ticket #141, and
|
* would allow for such conversions. This is similar to Ticket #141, and
|
||||||
* actually based on the same code as variant.hpp (access-casted.hpp)
|
* actually based on the same code as variant.hpp (access-casted.hpp)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
BIN
wiki/draw/LumiLogo-small.png
Normal file
BIN
wiki/draw/LumiLogo-small.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
BIN
wiki/draw/LumiLogo.png
Normal file
BIN
wiki/draw/LumiLogo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Loading…
Reference in a new issue