-Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
-Foundation, Inc.
+Installation Instructions
+*************************
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
- These are generic installation instructions.
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
+the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
-cache files.)
+cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
+ `./configure' to configure the package for your system.
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
all sorts of other programs in order to regenerate files that came
with the distribution.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
Compilers and Options
=====================
by setting variables in the command line or in the environment. Here
is an example:
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
+own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
Installation Names
==================
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
+options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
+use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
./configure CC=/usr/local2/bin/gcc
-will cause the specified gcc to be used as the C compiler (unless it is
+causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
`configure' Invocation
======================
`--help'
`-h'
- Print a summary of the options to `configure', and exit.
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
`--version'
`-V'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
## Process this file with automake to produce Makefile.in
-SUBDIRS = src po
+SUBDIRS = src
EXTRA_DIST = \
autogen.sh \
fi \
done \
fi
-
#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-DIE=0
-
-if [ -n "$GNOME2_DIR" ]; then
- ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS"
- LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH"
- PATH="$GNOME2_DIR/bin:$PATH"
- export PATH
- export LD_LIBRARY_PATH
-fi
-
-(test -f $srcdir/configure.in) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level package directory"
- exit 1
-}
-
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`autoconf' installed."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-(grep "^AC_PROG_INTLTOOL" $srcdir/configure.in >/dev/null) && {
- (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`intltool' installed."
- echo "You can get it from:"
- echo " ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/"
- DIE=1
- }
-}
-
-(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
- (libtool --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`libtool' installed."
- echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
- }
-}
-
-grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null && {
- grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
- (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`glib' installed."
- echo "You can get it from: ftp://ftp.gtk.org/pub/gtk"
- DIE=1
- }
-}
-
-(automake --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`automake' installed."
- echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
- NO_AUTOMAKE=yes
-}
-
-
-# if no automake, don't bother testing for aclocal
-test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: Missing \`aclocal'. The version of \`automake'"
- echo "installed doesn't appear recent enough."
- echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-if test "$DIE" -eq 1; then
- exit 1
-fi
-
-if test -z "$*"; then
- echo "**Warning**: I am going to run \`configure' with no arguments."
- echo "If you wish to pass any to it, please specify them on the"
- echo \`$0\'" command line."
- echo
-fi
-
-case $CC in
-xlc )
- am_opt=--include-deps;;
-esac
-
-for coin in `find $srcdir -name configure.in -print`
-do
- dr=`dirname $coin`
- if test -f $dr/NO-AUTO-GEN; then
- echo skipping $dr -- flagged as no auto-gen
- else
- echo processing $dr
- ( cd $dr
-
- aclocalinclude="$ACLOCAL_FLAGS"
-
- if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
- echo "Creating $dr/aclocal.m4 ..."
- test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
- echo "Running glib-gettextize... Ignore non-fatal messages."
- echo "no" | glib-gettextize --force --copy
- echo "Making $dr/aclocal.m4 writable ..."
- test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
- fi
- if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then
- echo "Running intltoolize..."
- intltoolize --copy --force --automake
- fi
- if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
- if test -z "$NO_LIBTOOLIZE" ; then
- echo "Running libtoolize..."
- libtoolize --force --copy
- fi
- fi
- echo "Running aclocal $aclocalinclude ..."
- aclocal $aclocalinclude
- if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
- echo "Running autoheader..."
- autoheader
- fi
- echo "Running automake --gnu $am_opt ..."
- automake --add-missing --gnu $am_opt
- echo "Running autoconf ..."
- autoconf
- )
- fi
-done
-
-conf_flags="--enable-maintainer-mode"
-
-if test x$NOCONFIGURE = x; then
- echo Running $srcdir/configure $conf_flags "$@" ...
- $srcdir/configure $conf_flags "$@" \
- && echo Now type \`make\' to compile. || exit 1
-else
- echo Skipping configure process.
-fi
+autoreconf --force --install
+intltoolize --force --copy --automake
AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
+AM_PROG_CC_C_O
AC_HEADER_STDC
pkg_modules="gtk+-2.0 >= 1.3.13"
interface.c interface.h \
callbacks.c callbacks.h \
dv1394app.c dv1394app.h \
- util.c util.h \
page.c page.h \
page_clips.c \
page_command.c \
page_units.c \
gtkenhancedscale.c gtkenhancedscale.h
-rugen_CFLAGS = `pkg-config --cflags gthread-2.0` `mlt-config miracle --cflags`
+rugen_CFLAGS = `pkg-config --cflags gthread-2.0 mlt-melted mlt-mvcp`
rugen_LDADD = @PACKAGE_LIBS@
-rugen_LDFLAGS = `pkg-config --libs gthread-2.0` `mlt-config miracle --libs`
-
+rugen_LDFLAGS = `pkg-config --libs gthread-2.0 mlt-melted mlt-mvcp`
/*
* dv1394app.c -- GTK+ 2 dv1394d client demo
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#include "interface.h"
#include "support.h"
#include "dv1394app.h"
-#include "util.h"
#include "page.h"
#include "gtkenhancedscale.h"
-#include <valerie/valerie_remote.h>
-#include <miracle/miracle_local.h>
+#include <mvcp/mvcp_remote.h>
+#include <melted/melted_local.h>
/** Window close event.
if ( this->parser == NULL )
{
if ( strstr( server, ".conf" ) == NULL )
- this->parser = valerie_parser_init_remote( server, atoi( port ) );
+ this->parser = mvcp_parser_init_remote( server, atoi( port ) );
else
- this->parser = miracle_parser_init_local( );
+ this->parser = melted_parser_init_local( );
- this->command = valerie_init( this->parser );
+ this->command = mvcp_init( this->parser );
if ( strstr( server, ".conf" ) != NULL )
- valerie_run( this->command, server );
+ mvcp_run( this->command, server );
- if ( valerie_connect( this->command ) == valerie_ok )
+ if ( mvcp_connect( this->command ) == mvcp_ok )
{
struct timespec t = { 1, 0 };
nanosleep( &t, NULL );
}
else
{
- valerie_close( this->command );
- valerie_parser_close( this->parser );
+ mvcp_close( this->command );
+ mvcp_parser_close( this->parser );
this->parser = NULL;
- beep( );
+// beep( );
}
}
{
int index = 0;
dv1394app this = ( dv1394app )data;
- valerie dv = dv1394app_get_command( this );
+ mvcp dv = dv1394app_get_command( this );
int unit = dv1394app_get_selected_unit( this );
for ( index = 0; index < 11; index ++ )
switch( index )
{
case 0:
- valerie_unit_clip_goto( dv, unit, valerie_absolute, 0, 0 );
+ mvcp_unit_clip_goto( dv, unit, mvcp_absolute, 0, 0 );
break;
case 1:
- valerie_unit_goto( dv, unit, 0 );
+ mvcp_unit_goto( dv, unit, 0 );
break;
case 2:
- valerie_unit_rewind( dv, unit );
+ mvcp_unit_rewind( dv, unit );
break;
case 3:
- valerie_unit_step( dv, unit, -1 );
+ mvcp_unit_step( dv, unit, -1 );
break;
case 4:
- valerie_unit_pause( dv, unit );
+ mvcp_unit_pause( dv, unit );
break;
case 5:
- valerie_unit_play( dv, unit );
+ mvcp_unit_play( dv, unit );
break;
case 6:
- valerie_unit_stop( dv, unit );
+ mvcp_unit_stop( dv, unit );
break;
case 7:
- valerie_unit_step( dv, unit, 1 );
+ mvcp_unit_step( dv, unit, 1 );
break;
case 8:
- valerie_unit_fast_forward( dv, unit );
+ mvcp_unit_fast_forward( dv, unit );
break;
case 9:
- valerie_unit_clip_goto( dv, unit, valerie_relative, 1, 0 );
+ mvcp_unit_clip_goto( dv, unit, mvcp_relative, 1, 0 );
break;
case 10:
- valerie_unit_clip_goto( dv, unit, valerie_absolute, 9999, -1 );
+ mvcp_unit_clip_goto( dv, unit, mvcp_absolute, 9999, -1 );
break;
default:
#define TRIM_ADJ_IN 1
#define TRIM_ADJ_OUT 2
-void dv1394app_show_status( dv1394app this, valerie_status status )
+void dv1394app_show_status( dv1394app this, mvcp_status status )
{
int index = 0;
for ( index = 0; index < this->page_count; index ++ )
static gboolean trim_pressed( GtkWidget *button, GdkEventButton *event, gpointer user_data )
{
dv1394app this = (dv1394app)user_data;
- valerie_unit_pause( dv1394app_get_command( this ), this->selected_unit );
+ mvcp_unit_pause( dv1394app_get_command( this ), this->selected_unit );
this->trim_in = -1;
this->trim_out = -1;
this->trim_in_use = 1;
dv1394app this = (dv1394app)user_data;
this->trim_in_use = 0;
if ( this->trim_in != -1 )
- valerie_unit_set_in( dv1394app_get_command( this ), this->selected_unit, this->trim_in );
+ mvcp_unit_set_in( dv1394app_get_command( this ), this->selected_unit, this->trim_in );
if ( this->trim_out != -1 )
- valerie_unit_set_out( dv1394app_get_command( this ), this->selected_unit, this->trim_out );
+ mvcp_unit_set_out( dv1394app_get_command( this ), this->selected_unit, this->trim_out );
return TRUE;
}
if ( !strcmp( value, "position" ) )
{
- valerie_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_POS]->value );
+ mvcp_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_POS]->value );
}
else if ( !strcmp( value, "in" ) )
{
this->trim_in = trim_adj[TRIM_ADJ_IN]->value;
- valerie_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_IN]->value );
+ mvcp_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_IN]->value );
}
else if ( !strcmp( value, "out" ) )
{
this->trim_out = trim_adj[TRIM_ADJ_OUT]->value;
- valerie_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_OUT]->value );
+ mvcp_unit_goto( dv1394app_get_command( this ), this->selected_unit, trim_adj[TRIM_ADJ_OUT]->value );
}
gtk_widget_queue_draw (lookup_widget(this->window, "vbox_trim") );
/** Get the applications parser.
*/
-valerie_parser dv1394app_get_parser( dv1394app this )
+mvcp_parser dv1394app_get_parser( dv1394app this )
{
return this->parser;
}
/** Return the command parser.
*/
-valerie dv1394app_get_command( dv1394app this )
+mvcp dv1394app_get_command( dv1394app this )
{
return this->command;
}
{
for ( index = 0; index < this->page_count; index ++ )
page_on_disconnect( this->pages[ index ] );
- valerie_close( this->command );
+ mvcp_close( this->command );
this->command = NULL;
- valerie_parser_close( this->parser );
+ mvcp_parser_close( this->parser );
this->parser = NULL;
}
}
/*
* dv1394app.h -- GTK+ 2 dv1394d client demo
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#define _DV1394_APP_
#include <gtk/gtk.h>
-#include <valerie/valerie.h>
+#include <mvcp/mvcp.h>
typedef struct page_t *page;
{
GtkWidget *window;
GtkWidget *connect;
- valerie_parser parser;
- valerie command;
+ mvcp_parser parser;
+ mvcp command;
int page_count;
GtkWidget *page_buttons[ 10 ];
page pages[ 10 ];
extern dv1394app dv1394app_init( GtkWidget *, char * );
extern GtkWidget *dv1394app_get_widget( dv1394app );
-extern valerie_parser dv1394app_get_parser( dv1394app );
-extern valerie dv1394app_get_command( dv1394app );
+extern mvcp_parser dv1394app_get_parser( dv1394app );
+extern mvcp dv1394app_get_command( dv1394app );
extern void dv1394app_connect( dv1394app );
extern void dv1394app_on_unit_change( dv1394app, int );
extern int dv1394app_get_selected_unit( dv1394app );
-extern void dv1394app_show_status( dv1394app, valerie_status );
+extern void dv1394app_show_status( dv1394app, mvcp_status );
extern void dv1394app_disconnect( dv1394app );
extern void dv1394app_close( dv1394app );
/*
* main.c -- GTK+ 2 dv1394d client demo
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
// Linux hack to determine path of the executable
readlink( "/proc/self/exe", path, 512 );
- if ( strstr( path, "/bin/fireswamp" ) )
+ if ( strstr( path, "/bin/rugen" ) )
{
- ( *strstr( path, "/bin/fireswamp" ) ) = '\0';
- strcat( path, "/share/fireswamp/pixmaps" );
+ ( *strstr( path, "/bin/rugen" ) ) = '\0';
+ strcat( path, "/share/rugen/pixmaps" );
add_pixmap_directory( path );
}
else
/*
* page.c -- Page handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
/** Called to propogate status information to any page that's interested.
*/
-void page_show_status( page this, valerie_status status )
+void page_show_status( page this, mvcp_status status )
{
if ( this->show_status )
this->show_status( this, status );
/*
* page.h -- Page handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
void ( *on_connect )( page );
void ( *on_disconnect )( page );
void ( *on_unit_change )( page, int );
- void ( *show_status )( page, valerie_status );
+ void ( *show_status )( page, mvcp_status );
void ( *close )( page );
};
extern void page_on_connect( page );
extern void page_on_disconnect( page );
extern void page_on_unit_change( page, int );
-extern void page_show_status( page, valerie_status );
+extern void page_show_status( page, mvcp_status );
extern void page_close( page );
/* page factories */
/*
* page_clips.c -- Clips Page Handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#include "interface.h"
#include "support.h"
#include "dv1394app.h"
-#include "util.h"
#include "page.h"
typedef struct
struct page_t parent;
dv1394app app;
GtkWidget *widget;
- valerie dv;
+ mvcp dv;
char *path;
int unit;
int generation;
GtkWidget *label = lookup_widget( this_page_get_widget( this ), "label_directory" );
if ( path != NULL )
{
- valerie_dir dir = valerie_dir_init( this->dv, path );
+ mvcp_dir dir = mvcp_dir_init( this->dv, path );
GtkListStore *dir_store = NULL;
GtkListStore *clip_store = NULL;
GtkTreeIter iter;
int index;
- valerie_dir_entry_t entry;
+ mvcp_dir_entry_t entry;
free( this->path );
this->path = strdup( path );
gtk_list_store_set( dir_store, &iter, 0, "..", -1 );
}
- for ( index = 0; index < valerie_dir_count( dir ); index ++ )
+ for ( index = 0; index < mvcp_dir_count( dir ); index ++ )
{
- valerie_dir_get( dir, index, &entry );
+ mvcp_dir_get( dir, index, &entry );
if ( strchr( entry.name, '/' ) )
{
gtk_list_store_append( dir_store, &iter );
}
}
- valerie_dir_close( dir );
+ mvcp_dir_close( dir );
}
else
{
static void list_queue( page_clips this, int clip )
{
GtkWidget *treeview = lookup_widget( this_page_get_widget( this ), "treeview1" );
- valerie_list list = valerie_list_init( this->dv, dv1394app_get_selected_unit( this->app ) );
+ mvcp_list list = mvcp_list_init( this->dv, dv1394app_get_selected_unit( this->app ) );
GtkListStore *list_store = NULL;
GtkTreeIter iter;
GtkTreePath *path;
int index;
- valerie_list_entry_t entry;
+ mvcp_list_entry_t entry;
if ( gtk_tree_view_get_model( GTK_TREE_VIEW( treeview ) ) == NULL )
{
this->generation = list->generation;
- for ( index = 0; index < valerie_list_count( list ); index ++ )
+ for ( index = 0; index < mvcp_list_count( list ); index ++ )
{
- valerie_list_get( list, index, &entry );
+ mvcp_list_get( list, index, &entry );
gtk_list_store_append( list_store, &iter );
gtk_list_store_set( list_store, &iter, 0, index == clip, 1, ( int )entry.in, 2, ( int )entry.out, 3, ( int )entry.size, 4, entry.full, 5, entry.clip, -1 );
}
this->clip = clip;
- if ( clip < valerie_list_count( list ) )
+ if ( clip < mvcp_list_count( list ) )
{
path = gtk_tree_path_new_from_indices( this->clip, -1 );
gtk_tree_view_scroll_to_cell( GTK_TREE_VIEW( treeview ), path, NULL, TRUE, 0.5, 0 );
gtk_tree_path_free( path );
}
- valerie_list_close( list );
+ mvcp_list_close( list );
}
static void list_active( page_clips this, int clip )
switch( this->mode )
{
case 0:
- valerie_unit_load_back( this->dv, dv1394app_get_selected_unit( this->app ), temp );
- valerie_unit_play( this->dv, dv1394app_get_selected_unit( this->app ) );
+ mvcp_unit_load_back( this->dv, dv1394app_get_selected_unit( this->app ), temp );
+ mvcp_unit_play( this->dv, dv1394app_get_selected_unit( this->app ) );
break;
case 1:
- valerie_unit_load( this->dv, dv1394app_get_selected_unit( this->app ), temp );
+ mvcp_unit_load( this->dv, dv1394app_get_selected_unit( this->app ), temp );
break;
case 2:
- valerie_unit_append( this->dv, dv1394app_get_selected_unit( this->app ), temp, -1, -1 );
+ mvcp_unit_append( this->dv, dv1394app_get_selected_unit( this->app ), temp, -1, -1 );
break;
case 3:
- valerie_unit_clip_insert( this->dv, dv1394app_get_selected_unit( this->app ), valerie_relative, 1, temp, -1, -1 );
+ mvcp_unit_clip_insert( this->dv, dv1394app_get_selected_unit( this->app ), mvcp_relative, 1, temp, -1, -1 );
break;
}
if ( gtk_tree_selection_get_selected( select, &model, &iter ) )
{
gtk_tree_model_get( model, &iter, 5, &clip, -1 );
- valerie_unit_clip_goto( this->dv, dv1394app_get_selected_unit( this->app ), valerie_absolute, clip, 0 );
- valerie_unit_play( this->dv, dv1394app_get_selected_unit( this->app ) );
+ mvcp_unit_clip_goto( this->dv, dv1394app_get_selected_unit( this->app ), mvcp_absolute, clip, 0 );
+ mvcp_unit_play( this->dv, dv1394app_get_selected_unit( this->app ) );
}
return TRUE;
static gboolean on_up( GtkWidget *dummy, gpointer data )
{
page_clips this = data;
- valerie_unit_clip_move( this->dv, dv1394app_get_selected_unit( this->app ), valerie_relative, 0, valerie_relative, -1 );
+ mvcp_unit_clip_move( this->dv, dv1394app_get_selected_unit( this->app ), mvcp_relative, 0, mvcp_relative, -1 );
return TRUE;
}
static gboolean on_down( GtkWidget *dummy, gpointer data )
{
page_clips this = data;
- valerie_unit_clip_move( this->dv, dv1394app_get_selected_unit( this->app ), valerie_relative, 0, valerie_relative, 1 );
+ mvcp_unit_clip_move( this->dv, dv1394app_get_selected_unit( this->app ), mvcp_relative, 0, mvcp_relative, 1 );
return TRUE;
}
static gboolean on_remove( GtkWidget *dummy, gpointer data )
{
page_clips this = data;
- valerie_unit_remove_current_clip( this->dv, dv1394app_get_selected_unit( this->app ) );
+ mvcp_unit_remove_current_clip( this->dv, dv1394app_get_selected_unit( this->app ) );
return TRUE;
}
static gboolean on_clean( GtkWidget *dummy, gpointer data )
{
page_clips this = data;
- valerie_unit_clean( this->dv, dv1394app_get_selected_unit( this->app ) );
+ mvcp_unit_clean( this->dv, dv1394app_get_selected_unit( this->app ) );
return TRUE;
}
static void this_page_on_connect( page_clips this )
{
- this->dv = valerie_init( dv1394app_get_parser( this->app ) );
+ this->dv = mvcp_init( dv1394app_get_parser( this->app ) );
list_clips( this, "/" );
}
static void this_page_on_disconnect( page_clips this )
{
list_clips( this, NULL );
- valerie_close( this->dv );
+ mvcp_close( this->dv );
}
-static void this_page_show_status( page_clips this, valerie_status status )
+static void this_page_show_status( page_clips this, mvcp_status status )
{
if ( status->status != unit_disconnected )
{
this->parent.on_connect = ( void (*)( page ) )this_page_on_connect;
this->parent.on_unit_change = ( void (*)( page, int ) )this_page_on_unit_change;
this->parent.on_disconnect = ( void (*)( page ) )this_page_on_disconnect;
- this->parent.show_status = ( void (*)( page, valerie_status ) )this_page_show_status;
+ this->parent.show_status = ( void (*)( page, mvcp_status ) )this_page_show_status;
this->parent.close = ( void (*)( page ) )this_page_close;
this->app = app;
this->generation = -1;
/*
* page_command.c -- Command Page Handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#include "interface.h"
#include "support.h"
#include "dv1394app.h"
-#include "util.h"
#include "page.h"
typedef struct page_command_t
if ( dv1394app_get_parser( this->app ) != NULL )
{
int index = 0;
- valerie_response response = NULL;
+ mvcp_response response = NULL;
GtkTextIter iter;
widget = lookup_widget( this_page_get_widget( this ), "entry_command" );
gtk_text_buffer_insert_at_cursor( buffer, "> ", -1 );
gtk_text_buffer_insert_at_cursor( buffer, command, -1 );
gtk_text_buffer_insert_at_cursor( buffer, "\n", -1 );
- valerie_execute( dv1394app_get_command( this->app ), 1024, "%s", command );
- response = valerie_get_last_response( dv1394app_get_command( this->app ) );
- for ( index = 0; index < valerie_response_count( response ); index ++ )
+ mvcp_execute( dv1394app_get_command( this->app ), 1024, "%s", command );
+ response = mvcp_get_last_response( dv1394app_get_command( this->app ) );
+ for ( index = 0; index < mvcp_response_count( response ); index ++ )
{
- if ( index != valerie_response_count( response ) - 1 ||
- strcmp( valerie_response_get_line( response, index ), "" ) )
+ if ( index != mvcp_response_count( response ) - 1 ||
+ strcmp( mvcp_response_get_line( response, index ), "" ) )
{
- gtk_text_buffer_insert_at_cursor( buffer, valerie_response_get_line( response, index ), -1 );
+ gtk_text_buffer_insert_at_cursor( buffer, mvcp_response_get_line( response, index ), -1 );
gtk_text_buffer_insert_at_cursor( buffer, "\n", -1 );
}
}
}
else
{
- beep( );
+// beep( );
}
return FALSE;
/*
* page_status.c -- Status Page Handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#include "interface.h"
#include "support.h"
#include "dv1394app.h"
-#include "util.h"
#include "page.h"
typedef struct
struct page_t parent;
dv1394app app;
GtkWidget *widget;
- valerie status;
+ mvcp status;
int terminated;
pthread_t status_thread;
guint context;
/** Show the status associated to a unit.
*/
-static int show_status( page_status this, valerie_status status )
+static int show_status( page_status this, mvcp_status status )
{
GtkWidget *widget = this_page_get_widget( ( page )this );
char temp[ 1024 ] = "";
char temp[ 1024 ] = "";
char button_name[ 256 ];
- valerie_units units = NULL;
- valerie_unit_entry_t unit;
+ mvcp_units units = NULL;
+ mvcp_unit_entry_t unit;
int unit_count = 0;
- valerie_nodes nodes = NULL;
- valerie_node_entry_t node;
+ mvcp_nodes nodes = NULL;
+ mvcp_node_entry_t node;
int node_count = 0;
if ( active )
{
- units = valerie_units_init( this->status );
- unit_count = valerie_units_count( units );
- nodes = valerie_nodes_init( this->status );
- node_count = valerie_nodes_count( nodes );
+ units = mvcp_units_init( this->status );
+ unit_count = mvcp_units_count( units );
+ nodes = mvcp_nodes_init( this->status );
+ node_count = mvcp_nodes_count( nodes );
this->count = unit_count;
}
{
if ( index < unit_count )
{
- valerie_units_get( units, index, &unit );
+ mvcp_units_get( units, index, &unit );
for ( index2 = 0; index2 < node_count; index2 ++ )
{
- valerie_nodes_get( nodes, index2, &node );
+ mvcp_nodes_get( nodes, index2, &node );
if ( !strcmp( node.guid, unit.guid ) )
break;
}
gdk_flush();
gdk_threads_leave();
- valerie_notifier notifier = valerie_get_notifier( this->status );
- valerie_status_t status;
+ mvcp_notifier notifier = mvcp_get_notifier( this->status );
+ mvcp_status_t status;
for ( index = 0; index < MAX_UNITS; index ++ )
{
if ( !active )
status.status = unit_disconnected;
else
- valerie_notifier_get( notifier, &status, index );
+ mvcp_notifier_get( notifier, &status, index );
show_status( this, &status );
}
if ( active )
{
- valerie_nodes_close( nodes );
- valerie_units_close( units );
+ mvcp_nodes_close( nodes );
+ mvcp_units_close( units );
}
}
static void *status_thread( void *arg )
{
page_status this = arg;
- valerie_notifier notifier = valerie_get_notifier( this->status );
- valerie_status_t status;
+ mvcp_notifier notifier = mvcp_get_notifier( this->status );
+ mvcp_status_t status;
show_units( this, TRUE );
while ( !this->terminated )
{
- if ( valerie_notifier_wait( notifier, &status ) != -1 )
+ if ( mvcp_notifier_wait( notifier, &status ) != -1 )
{
if ( status.status == unit_disconnected )
break;
}
if ( index < MAX_UNITS )
{
- valerie_status_t status;
- valerie_notifier notifier = valerie_get_notifier( this->status );
+ mvcp_status_t status;
+ mvcp_notifier notifier = mvcp_get_notifier( this->status );
dv1394app_on_unit_change( app, index );
- valerie_notifier_get( notifier, &status, index );
+ mvcp_notifier_get( notifier, &status, index );
gdk_threads_leave( );
show_status( this, &status );
gdk_threads_enter( );
if ( this->terminated )
{
this->terminated = 0;
- this->status = valerie_init( dv1394app_get_parser( this->app ) );
+ this->status = mvcp_init( dv1394app_get_parser( this->app ) );
pthread_create( &this->status_thread, NULL, status_thread, this );
}
}
gdk_threads_leave();
pthread_join( this->status_thread, NULL );
gdk_threads_enter();
- valerie_close( this->status );
+ mvcp_close( this->status );
widget = lookup_widget( dv1394app_get_widget( this->app ), "statusbar" );
gtk_statusbar_push( GTK_STATUSBAR( widget ), this->context, "Disconnected." );
}
/*
* page_units.c -- Units Page Handling
* Copyright (C) 2002-2003 Charles Yates <charles.yates@pandora.be>
+ * Copyright (C) 2010 Dan Dennedy <dan@dennedy.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
#include "interface.h"
#include "support.h"
#include "dv1394app.h"
-#include "util.h"
#include "page.h"
static void this_on_connect( page this )
+++ /dev/null
-/*
- * util.c -- Utility Functions
- * Copyright (C) 2003 Charles Yates <charles.yates@pandora.be>
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <stdio.h>
-
-/** Sound a beep.
-*/
-
-void beep( )
-{
- fprintf( stderr, "%c", 7 );
- fflush( stderr );
-}
+++ /dev/null
-/*
- * util.h -- Utility Functions
- * Copyright (C) 2003 Charles Yates <charles.yates@pandora.be>
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _DV1394_UTIL_
-#define _DV1394_UTIL_
-
-extern void beep( );
-
-#endif