From c848903feacacc43698cfd5a31d7e4f5e750280d Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 30 Oct 2013 02:35:20 +0100 Subject: [PATCH] Pre-release 0.pre.02 This is a development snaphot pre release of Lumiera. Update README, AUTHORS, LICENSE and similar release docs. --- AUTHORS | 162 +++++++++---------------- INSTALL | 238 +------------------------------------ LICENSE | 32 ++++- README | 112 ++++++++++------- admin/scons/Platform.py | 2 +- data/config/setup.ini | 1 + src/common/basic-setup.cpp | 2 + src/gui/gtk-lumiera.cpp | 10 +- 8 files changed, 164 insertions(+), 395 deletions(-) mode change 100644 => 120000 INSTALL diff --git a/AUTHORS b/AUTHORS index 8f909c0eb..73f301e27 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,84 +1,59 @@ Lumiera Authors and Credits =========================== -Version: 0.pre.0.1 -Date: 2/2011 +Version: 0.pre.02 +:Date: 10/2013 -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Architecture and Design, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -graphical user interface, JOEL HOLDSWORTH - , CLAY BARNES -processing layer , HERMANN VOSSELER -backend , CHRISTIAN THÄTER -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +|========================================== +|*Architecture and Design*| +|graphical + user interface | JOEL HOLDSWORTH +| | HERMANN VOSSELER +| | BRIAN RYTEL +|processing layer | HERMANN VOSSELER +|backend | CHRISTIAN THÄTER -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Programming, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -rendering engine, HERMANN VOSSELER -backend, CHRISTIAN THÄTER -GTK-GUI, JOEL HOLDSWORTH - , STEFAN KANGAS -library, HERMANN VOSSELER - , CHRISTIAN THÄTER - , ANTON YAKOVLEV - , SIMEON VÖLKEL -testsuite, CHRISTIAN THÄTER - , NICHOLAS SINNOTT-ARMSTRONG -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +| | +| | +|*Workflow design* | +|concept | BRIAN RYTEL +| | MIKE PROVOST +| | NIKOLA DUPER -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Programming Documentation, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -, MICHAEL PLOUJNIKOV -, ODIN HØRTHE OMDAL -, SIMON LARCHER -, SIMEON VÖLKEL -, MANO STIENEN -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +| | +| | +|*Programming*| +|session and engine| HERMANN VOSSELER +|backend | CHRISTIAN THÄTER +| | MICHAEL PLOUJNIKOV +|graphical + user interface| JOEL HOLDSWORTH +| | STEFAN KANGAS +| | MICHAEL FISHER +|library | HERMANN VOSSELER +| | CHRISTIAN THÄTER +| | ANTON YAKOVLEV +| | STEFAN KANGAS +|testsuite | CHRISTIAN THÄTER +| | NICHOLAS SINNOTT-ARMSTRONG +| | HERMANN VOSSELER - -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Used Software and Libraries, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -boost libraries, -gavl libraries, -gtk+ toolkit, -lua, -nobug, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Builddrone, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -idea and implementation, CHRISTIAN THÄTER -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -//'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// ,Testing -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// , -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Workflow design, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -concept , NIKOLA DUPER - , BRIAN RYTEL - , MIKE PROVOST -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Server Administration, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -, CHRISTIAN THÄTER -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +| | +| | +|*Programming Documentation*| +| | CHRISTIAN THÄTER +| | HERMANN VOSSELER +| | MICHAEL PLOUJNIKOV +| | ODIN HØRTHE OMDAL +| | SIMEON VÖLKEL +| | MANO STIENEN +| | HENDRIK BOOM +| | BENNY LYONS +| | +| | +|*Server Administration*| +| | CHRISTIAN THÄTER +|========================================== @@ -90,13 +65,9 @@ It started out as a partial rewrite of Cinelerra in 2007 and turned into a complete rewrite and redesign in Spring 2008 -'`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The Lumiera project feels especially obliged to, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Cinelerra's original Author, ADAM WILLIAMS / aka. "Jack Crossfire" / aka "HV" -Cinelerra-CV , all the numerous contributors - , of the "Community Version" -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The Lumiera project feels especially obliged to:: +* Cinelerra's original Author, *Adam Williams* (aka.``Jack Crossfire''/ ``HV'') +* Cinelerra-CV and all the numerous contributors to the ``Community Version'' @@ -104,31 +75,8 @@ Cinelerra-CV , all the numerous contributors Further Credits --------------- +- inspirations and some GUI components were taken from http://Ardour.org[Ardour] -Parts of the Proc-Layer Implementation are heavily inspired by - - -.The Loki Library -[quote] -__________________________________________________________________________ -Copyright (c) 2001 by *Andrei Alexandrescu* + - -.Loki Copyright Notice -* Loki is governed by a MIT-License. See: http://loki-lib.sourceforge.net -* Permission to use, copy, modify, distribute and sell this software for any - purpose is hereby granted without fee, provided that the above copyright - notice appear in all copies and that both that copyright notice and this - permission notice appear in supporting documentation. - The author makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied warranty. - - -.the ``Loki Book'' -[verse] -Alexandrescu, Andrei. - "Modern C++ Design: Generic Programming and Design Patterns Applied". - Copyright (c) 2001. Addison-Wesley. - ISBN 0201704315 -_____________________________________________________________________________ - +- Parts of the Implementation are heavily inspired by + + *The Loki Library* (c) 2001 by *Andrei Alexandrescu* diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 7d8dd3dbb..000000000 --- a/INSTALL +++ /dev/null @@ -1,237 +0,0 @@ -Running / Installing Lumiera Prototype -====================================== -Date: 2/2011 - -Lumiera uses a fairly standard build system. There are no special quirks. -The build system will tell you about missing library dependencies. You can -build, run the +check+ target for the Testsuite and finally install (as root). -But you don't need to install, because the generated +target+ folder is set up -to be fully relocatable. You can invoke the executables right away, or copy the -whole +target+ folder structure at any location you like. The executables -will always use the direcly accompanying libraries in the +modules+ subdirectory. - -The following text is taken from our -link:http://www.pipapo.org/pipawiki/Lumiera/NewbiesTutorials[Newbies Tutorial] -to help beginners getting started with Lumiera development. - - -Building Lumiera from source ----------------------------- -Currently, after building the application, you can try out the Lumiera GUI -and you can run the testsuite. - -For building Lumiera, besides the GNU C/C++ compiler (Version 4.X), you'll need: - - * http://git-scm.com/[git] - * http://www.gnu.org/software/libtool/[libtool] - * http://www.boost.org/[Boost libraries] - * http://gmerlin.sourceforge.net/[GAVL library] - * *NoBug* (see below) - -TIP: Generally speaking, when you want to build software, you need the _development_ version -of the packages, containing the headers and pre-built libraries to link against. Usually, -these packages are named `-devel` or `-dev` - -.Notes for Ubuntu: - * libgdl-1-dev - * libgtkmm-2.4-dev - * libxv-dev - -For most Debian based systems, e.g. Ubuntu Intrepid and Jaunty, you can install these dependencies with: - ------------------------------------------------------------- -sudo apt-get install build-essential autoconf libboost-dev libboost-program-options-dev libboost-regex-dev \ - libtool libgavl-dev libglade2-dev libgdl-1-dev libgtkmm-2.4-dev libxv-dev scons valgrind librsvg2-dev git-core ------------------------------------------------------------- -Optionally, you may also want to install: - - * gtk2-engines - - -Build directory -~~~~~~~~~~~~~~~ -You need a directory for checking out the sources and running the build. This could be a temp directory, -or some "workspace" directory below your home directory. We'll call it _workspace directory_ from now on. - -Lumiera specific libraries -~~~~~~~~~~~~~~~~~~~~~~~~~~ -Now that you have your basic build system setup, Lumiera needs a few more special support libraries. -Currently you need to build those from source and install them, so the Lumiera build process can -pick them up. - -WARNING: Note that the following procedures will try to install files into your base system below `/usr/local`. -To do so, you'll need administrative permissions for the machine you're working on. These additions might interfere -with other libraries installed by your package manager (if you get into trouble updating your system later on, -sometimes you need to remove these manually built librararies). - -Installing NoBug -^^^^^^^^^^^^^^^^ - -*NoBug* is an instrumentation and diagnostics library. + -Go into the mentioned _workspace direcory_ (maybe create a new directory). First, let's get the NoBug source code: - ------------------------------------------------------------- -git clone git://git.pipapo.org/nobug ------------------------------------------------------------- -This will create a (sub)directory called nobug with sourcecode in your current directory. + -Compile NoBug with the following commands - ------------------------------------------------------------- -cd nobug -autoreconf -i -mkdir build -cd build -../configure -make -make install ------------------------------------------------------------- - -Installing GDL -^^^^^^^^^^^^^^ -The *GNOME Docking library* is generally available through your package manager, but -we contributed some improvements, which are only available in the very recent development -versions of GDL. Thus, for now we created a special package, which doesn't interfere with -an existing (older) installation of GDL. - -Ubuntu 9.04 note: intltool-update is not patched, you must add /usr/share/intltool-debian/ to get the gdl-package to configure correctly (JSC). - ------------------------------------------------------------- -git clone git://git.lumiera.org/gdl-package -cd gdl-package -./configure -make -sudo make install ------------------------------------------------------------- - -For more detailed instructions on how to build gdl (also how to build it into a debian package) see -http://lists.lumiera.org/pipermail/lumiera/2009-April/000891.html[this message on the Lumiera Mailinglist]. - - -check library linkage -^^^^^^^^^^^^^^^^^^^^^ -The compile will warn you to add various directories to /etc/ld.so.conf and then run ldconfig. This -will allow your dynamic liker to pick up the newly built libraries later when you try to start Lumiera. -If you don't want to reconfigure your system and add `/usr/local/lib` to the mentioned linker configuration, -you may alternatively just add the directories to your LD_LIBRARY_PATH environment variable. - -Either way, check that all libraries are accessible and ok: - ------------------------------------------------------------- -sudo ldconfig -v | grep 'gdl-lum\|nobug' ------------------------------------------------------------- - -and you should get a list of the libraries, part of which should look like this: - ------------------------------------------------------------- - libnobug.so.0 -> /usr/local/lib/libnobug.so.0.0.0 - libnobugmt.so.0 -> /usr/local/lib/libnobugmt.so.0.0.0 - libgdl-lum.so.0 -> /usr/local/lib/libgdl-lum.so.0.0.0 ------------------------------------------------------------- - -or similar. If any if this libs are not listed, investigate why before continuing. - - -Building Lumiera -~~~~~~~~~~~~~~~~ -Lumiera has two maintained (and equivalent) build systems: *scons* and *autotools*. You can pick the one you -feel more comfortable with. - -When trying to build a development version of Lumiera, it might well be that at times one of the builds doesn't work temporarily. It is always a good idea to check the current build stats from our *builddrone*, which automatically builds the latest version from master repository. + -Please have a look at this http://lumiera.org/builddrone/table.html[current build stats]-page. - -Next, after having built and installed the prerequisite libraries, go into the _workspace directory_ to retrieve the Lumiera source code and build it. - - - * to retrieve the sourcecode with git and then build with *scons*: -+ -(see available build options by issuing `scons -h` ) -+ ------------------ -git clone git://git.lumiera.org/LUMIERA -cd LUMIERA -scons ------------------ -+ - - * alternatively, if you prefer building with autotools (*note*: currently broken as of 3/11): -+ ------------------ -git clone git://git.lumiera.org/LUMIERA -cd LUMIERA -autoreconf -fi -mkdir build -cd build -../configure -make ------------------ - -maybe build and run the testsuite by issuing `scons check` or `make check` - -This will take some time. - - -Invoking Lumiera -~~~~~~~~~~~~~~~~ - -NOTE: Currently *only the SCons build creates a relocatable package which can -also be installed*. - -After the build has finished successfully, you should be able to start Lumiera. -Currently, this will bring up the GUI, without any further functionality - -The +target+ directory generated by the SCons build is fully relocatable -- you can -invoke the executables found there right away and you can copy it at any location you -want, provided you keep the relative location of the contained sub-folders intact. -If you want to include the Lumiera executable into the search path, then just use -a symlink, don't _copy_ the isolated +lumiera+ executable into some +bin+ directory. - -Thus -------------------- -target/lumiera -------------------- -should bring up something like (screenshot from 1/2009): - -image:http://www.pipapo.org/pipawiki/Lumiera/GuiBrainstorming?action=AttachFile&do=get&target=screenshot090124-resources.jpg[] - -_(for autotools build: issue `./lumiera` from within the `build` subdirectory)_ - - -Installing Lumiera -~~~~~~~~~~~~~~~~~~ -As of 2/2011, please use the SCons build for that. - -Letting aside the fact that you can't do anything useful with the Lumiera in the current stage of development -- -you have multiple options for installing Lumiera - - * just copy the taget folder somewhere and create a symlink to the +lumiera+ exe - * invoke +scons install INSTALLDIR=... PREFIX=...+ - * as root, invoke +scons instal+ to place files at the standard locations below +/usr/local+ - * if you're on Debian, you can pull a debian package from +git://git.lumiera.org/lumiera/debian+ - This is a source package, you can either use +dpkg_buildpackage+ or +git-buildpackage+ and - then install the generated binary deb with +dpkg -i+ - - - -Contributing ------------- - -Nothing is easier, follow the http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html[the basic instructions], -notably the following parts: ------------------------------------------------------------- -$ git config --global user.name "Your Name Comes Here" -$ git config --global user.email you@yourdomain.example.com ------------------------------------------------------------- - - -Then you are ready to go, you can edit and commit the lumiera code locally in your cloned repository. Please do small commits which fix/improve only one single thing and use meaningful commit messages. - -Check that you didn't break anything, by running the testsuite (see above) - -Finally you can push your changes to the lumiera server to the 'mob' repository: - ------------------------------------------------------------- -$ git push git://git.lumiera.org/lumiera/mob master:refs/heads/YOURNAME ------------------------------------------------------------- -This creates a new branch 'YOURNAME' on the mob repository. Then you notify the other devs on the mailinglist and they may merge your code into the mainline. - - diff --git a/INSTALL b/INSTALL new file mode 120000 index 000000000..c3b5125d9 --- /dev/null +++ b/INSTALL @@ -0,0 +1 @@ +doc/user/tutorials/building.txt \ No newline at end of file diff --git a/LICENSE b/LICENSE index 4a684524d..46ec7c294 100644 --- a/LICENSE +++ b/LICENSE @@ -1,10 +1,32 @@ -The Lumiera source code is (C) by the original authors (see AUTHORS) - -======================================================================= +- the *Lumiera* source code is (C) by the original authors (see `AUTHORS`) ++ +----------------------------------------------------------------------------- Lumiera is free software -- you may use and redistribute it under the Terms and conditions of the GNU GENERAL PUBLIC LICENSE (GPL); either version 2 of the License, or (at your option) any later version. -======================================================================= -For a copy of the GPL Version 2 see the file "COPYING" + +For a copy of the GPL Version 2 see the file COPYING +----------------------------------------------------------------------------- + + + +- Website, design documents and accompanying materials are covered by + the same license as the source code, + + in addition they are also dual-licensed under *CC-By-SA 3* + + + +- Parts of the Implementation are heavily inspired by + + *The Loki Library* (C) 2001 by *Andrei Alexandrescu* ++ +----------------------------------------------------------------------------- +Loki is governed by a MIT-License. See: http://loki-lib.sourceforge.net +Permission to use, copy, modify, distribute and sell this software for any +purpose is hereby granted without fee, provided that the above copyright +notice appear in all copies and that both that copyright notice and this +permission notice appear in supporting documentation. +The author makes no representations about the suitability of this software +for any purpose. It is provided "as is" without express or implied warranty. +----------------------------------------------------------------------------- diff --git a/README b/README index 7f7519ea9..9dd1bae5d 100644 --- a/README +++ b/README @@ -1,73 +1,97 @@ Lumiera -- the video NLE for Linux ==================================== +Version: 0.pre.02 +:Date: 10/2013 ************************************************************* -Lumiera is a nonlinear video editing and compositing tool. -It understands some of the common multimedia formats -(quicktime, avi, ogg) and audio/video compression -codecs (divx, xvid, mpeg1/2/4, ...) +Lumiera is a non-linear video editing and compositing tool. -It features non-destructive editing, compositing tools, -a selection of effects plugins, processing in RGB, YUV -and RGB-float colormodels and the ability to mix media -with differing sizes and framerates. +The Application will allow to edit footage in the common +multimedia formats (quicktime, ogg, mkv, avi) and audio/video +stream codecs (dv, mpeg1/2/4, h264 ...) -More Informations at http://lumiera.org/[Lumiera.org] +Lumiera features non-destructive editing, compositing tools, +a selection of effects plugins, processing in RGB, YUV and +RGB-float colour models and the ability to mix media with +differing sizes and framerates. Lumiera is especially well +suited for large and elaborate professional editing tasks +with lots of material, several scenes, nested sequences, +colour grading, 3D support, full fledged sound montage +and multiple edit versions prepared in parallel. + +NOTE: as of 10/2013, Lumiera is in early development stage; +it is not usable yet. The above describes the Lumiera project +vision, which will need years to implement. This Debian package +installs a current development snapshot in pre-alpha stage. + +Visit http://Lumiera.org and join the mailing list +when interested in Lumiera planning and development. **************************************************************** + Lumiera pre-Alpha Versions -------------------------- **This source tree doesn't yet contain a working video editing application** + -Rather, it contains the framework and technology core of the envisioned Application ``Lumiera''. - -As of _7/2007_:: -we start here with the backend and render engine modules -together with some unit tests. You should find a wiki with detailed -design considerations and developer documentation and a UML model -(usable with BOUML 2.29) in the sibling directories. - -As of _2/2008_:: -the project has been separated completely from his ancestor ``Cinelerra'' -The Community, which is largely identical to the Cinelerra-CV community, choose the -new project name ``Lumiera''. The basic project infrastructure is up and running, -and work on the new codebase is going on continuosely. We can show nothing but -a running test suite for some time to come. - -As of _1/2011_:: -the project has created and documented a fairly consistent design, -partially already coded up -- starting from the technical foundations and working up. -The code base is approaching 100k LOC. Roughly half of this is testcode. -The Application can be installed and started to bring up an GTK GUI outline, -but the GUI is very preliminary and not connected to core functionality. -The video processing pipeline is still not complete. +Rather, it contains the framework and technology core +of the envisioned Application ``Lumiera''. See http://issues.lumiera.org/roadmap[Project roadmap] +As of _10/2013_ (0.pre.02):: +the data models have been elaborated and some significant parts of the session +are finished. Work has continued with time handling, a draft of the output +connection framework, a draft of the player subsystem and interfaces to the +engine and processing network. Unfortunately there was a considerable slowdown +and decrease in team size, yet still the code base is growing towards 90k LOC. +No tangible progress regarding the GUI and the backend. + +As of _1/2011_ (0.pre.01):: +the project has created and documented a fairly consistent design, +partially coded up -- starting from the technical foundations and working up. +The code base is approaching 65k LOC. Roughly half of this is test code. +The Application can be installed and started to bring up a GTK GUI framework, +but the GUI is very preliminary and not connected to core functionality. +The video processing pipeline exists only in the blueprints. + +As of _2/2008_:: +the project has been separated completely from ``Cinelerra'', the parent project. +The Community, which at that time was largely identical to the Cinelerra-CV community, +choose the new project name ``Lumiera'' through a collaborative selection and vote. +The basic project infrastructure is up and running, and work on the new codebase +has started. We can show nothing beyond a test suite for some time to come. + +As of _7/2007_:: +we started with the backend and render engine draft, some example code +complemented by several unit tests. There is a TiddlyWiki with detailed +design considerations and developer documentation and a UML model + + Build Requirements ------------------ For building Lumiera, you'll need: - - GNU C/C++ compiler (Version > 4.3) - - Git Version management system - - http://www.boost.org/[Boost libraries] - - http://gmerlin.sourceforge.net/[GAVL library] - - http://lumiera.org/nobug_manual.html[NoBug library] - - GTK\-- - - Cairo and Glade libraries - - X libraries - - http://scons.org[SCons] or Autotools build system + * GNU C/C++ compiler `>=4.4` or Clang `>=3.0` + * Git Version management system + * http://www.scons.org/[SCons build system] + * http://www.boost.org/[Boost libraries] + * http://gmerlin.sourceforge.net/[GAVL library] + * http://nobug.pipapo.org/[NoBug library] + * http://www.gtkmm.org/en/[GTKmm] + * http://cgit.freedesktop.org/xorg/lib/libXv[libXv] + * https://wiki.gnome.org/LibRsvg[lib R SVG] + * https://git.gnome.org/browse/gdl[lib GDL] + +See the online documentation at http://Lumiera.org/download.html -See the online documentation at http://lumiera.org/Lumiera/NewbiesTutorials -or the local Copy of this page in the file INSTALL Debian Package -------------- Hermann Vosseler (aka Ichthyo) maintains a *Debian* packaging of the source tree -- the package definition can be pulled from +git://git.lumiera.org/lumiera/debian+ -- the package can be built by +git-buildpackage+ +- the package definition can be pulled from `git://git.lumiera.org/debian/lumiera/` +- the package can be built by `git-buildpackage` diff --git a/admin/scons/Platform.py b/admin/scons/Platform.py index b29f4222e..2a5931417 100644 --- a/admin/scons/Platform.py +++ b/admin/scons/Platform.py @@ -64,7 +64,7 @@ def configure(env): else: print 'Valgrind not found. The use of Valgrind is optional; building without.' - if not conf.CheckPkgConfig('nobugmt', 201006.1): + if not conf.CheckPkgConfig('nobugmt', 201008.1): problems.append('Did not find NoBug [http://nobug.pipapo.org/].') else: conf.env.mergeConf('nobugmt') diff --git a/data/config/setup.ini b/data/config/setup.ini index e9e0b3c49..e836d0287 100644 --- a/data/config/setup.ini +++ b/data/config/setup.ini @@ -15,6 +15,7 @@ title = Lumiera version = 0.pre.02 website = http://www.lumiera.org authors = Joel Holdsworth|Christian Thäter|Hermann Voßeler|[Other Authors Here] +copyright = 2007 - 2013 [Gui] stylesheet = lumiera_ui.rc diff --git a/src/common/basic-setup.cpp b/src/common/basic-setup.cpp index 5ab319d0d..b003cf2fb 100644 --- a/src/common/basic-setup.cpp +++ b/src/common/basic-setup.cpp @@ -90,6 +90,8 @@ namespace lumiera { "URL of the Lumiera website") ("Lumiera.authors", opt::value(), "names of Lumiera authors, for 'about' dialog. Separated by '|'") + ("Lumiera.copyright", opt::value(), + "year(s) for the author's copyright claim") ("Gui.stylesheet", opt::value(), "name of the GTK stylesheet to use. Will be searched in resource path") diff --git a/src/gui/gtk-lumiera.cpp b/src/gui/gtk-lumiera.cpp index 0865da862..b5186452a 100644 --- a/src/gui/gtk-lumiera.cpp +++ b/src/gui/gtk-lumiera.cpp @@ -26,6 +26,7 @@ #include "gui/workspace/workspace-window.hpp" #include "gui/controller/controller.hpp" #include "gui/model/project.hpp" +#include "lib/format-string.hpp" #include "lib/depend.hpp" #include "lib/symbol.hpp" @@ -33,6 +34,7 @@ #include #include +#include #include namespace gui { @@ -48,6 +50,8 @@ using boost::algorithm::split; using lumiera::Config; using lib::Literal; +using ::util::_Fmt; +using std::string; typedef std::vector UVector; @@ -62,6 +66,7 @@ namespace { Literal KEY_VERSION = "Lumiera.version"; Literal KEY_WEBSITE = "Lumiera.website"; Literal KEY_AUTHORS = "Lumiera.authors"; + Literal KEY_COPYRIGHT = "Lumiera.copyright"; Literal KEY_STYLESHEET = "Gui.stylesheet"; Literal KEY_UIRES_PATH = "Gui.resourcepath"; @@ -124,7 +129,10 @@ GtkLumiera::getAppVersion() cuString GtkLumiera::getCopyright() { - return _("© 2012 The Lumiera Team"); + return string ( + _Fmt(_("© %s The Lumiera Team\n" + "Lumiera is Free Software (GPL)")) + % Config::get (KEY_COPYRIGHT)); }