branch 1.5.3
git-svn-id: svn://code.dyne.org/veejay/trunk@1414 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
340
branches/V-1.5.3/sendVIMS/COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR PDP.LICENSE, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
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.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
4
branches/V-1.5.3/sendVIMS/ChangeLog
Normal file
@@ -0,0 +1,4 @@
|
||||
0.1 initial release by Tom
|
||||
0.1.1 fixed status outlets
|
||||
0.1.2 fixed selector range (0-600) to match veejay > 0.8
|
||||
0.1.4 update veejay >= 0.9.8
|
||||
37
branches/V-1.5.3/sendVIMS/Makefile
Normal file
@@ -0,0 +1,37 @@
|
||||
all: pd_linux
|
||||
|
||||
include Makefile.defs
|
||||
|
||||
VERSION = 0.1.4
|
||||
|
||||
|
||||
.SUFFIXES: .pd_linux
|
||||
|
||||
pd_linux: sendVIMS.pd_linux selectors.h
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PD_CFLAGS = -DPD
|
||||
|
||||
.c.pd_linux:
|
||||
$(CC) $(PD_CFLAGS) $(OPTI_CFLAGS) $(DEBUG_CFLAGS) -DVERSION=\"$(VERSION)\" -o $*.o -c $*.c
|
||||
$(CC) -export_dynamic -shared -o $*.pd_linux $*.o -lm
|
||||
strip --strip-unneeded $*.pd_linux
|
||||
rm $*.o
|
||||
|
||||
clean:
|
||||
rm -f *.pd_linux
|
||||
rm -f *~
|
||||
|
||||
install:
|
||||
install -m 644 *.pd_* $(PREFIX)/lib/pd/extra
|
||||
install -m 644 help-*.pd $(PREFIX)/lib/pd/doc/5.reference/
|
||||
|
||||
dist: clean
|
||||
rm -rf ../sendVIMS-$(VERSION)
|
||||
mkdir ../sendVIMS-$(VERSION)
|
||||
cp -av * ../sendVIMS-$(VERSION)
|
||||
cd .. && tar vczf sendVIMS-$(VERSION).tar.gz sendVIMS-$(VERSION)
|
||||
rm -rf ../sendVIMS-$(VERSION)
|
||||
3
branches/V-1.5.3/sendVIMS/Makefile.defs
Normal file
@@ -0,0 +1,3 @@
|
||||
CC = cc
|
||||
PREFIX = /usr/local/
|
||||
OPTI_CFLAGS = -O3 -fomit-frame-pointer -ffast-math -funroll-loops
|
||||
47
branches/V-1.5.3/sendVIMS/README
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
#2010: untested against 1.6.0
|
||||
|
||||
|
||||
sendVIMS - very simple VeeJay client for pure data
|
||||
(C) 2002-2004 Niels Elburg <elburg@hio.hen.nl>
|
||||
(C) 2004 Tom Schouten <doelie@zzz.kotnet.org>
|
||||
|
||||
This is free software covered under the terms of the
|
||||
GNU GPL. See the file COPYING for details.
|
||||
|
||||
requirements:
|
||||
veejay-1.4.3
|
||||
or latest veejay from SVN (http://veejay.dyne.org)
|
||||
|
||||
pre build (optional):
|
||||
copy the vims.h file from veejay-current/veejay/vims.h
|
||||
from veejay's SVN repository
|
||||
The vims.h is taken from veejay 0.8.1
|
||||
|
||||
perl parse-vims.pl vims.h
|
||||
|
||||
building:
|
||||
|
||||
|
||||
./configure && make && make install
|
||||
|
||||
|
||||
'make install' copies these files to your pd directory:
|
||||
|
||||
<prefix>/lib/pd/extra/sendVIMS.pd_linux
|
||||
<prefix>/lib/pd/doc/5.reference/help-sendVIMS.pd
|
||||
|
||||
the default <prefix> is /usr/local/pd
|
||||
|
||||
|
||||
|
||||
running:
|
||||
|
||||
if the module is in your pd path it will be loaded automaticly.
|
||||
|
||||
|
||||
the status line always has 13 status bytes, depending on the
|
||||
the playback mode some may or may not be used (-).
|
||||
0 = off, 1 = on
|
||||
|
||||
|
||||
49
branches/V-1.5.3/sendVIMS/configure
vendored
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
# set sefaults for all options
|
||||
$var{prefix} = "/usr/local/";
|
||||
$var{debug} = "no";
|
||||
|
||||
if ($ENV{CC}) {$var{CC} = $ENV{CC};} else {$var{CC} = "cc";}
|
||||
|
||||
# print valid options
|
||||
sub print_options {
|
||||
foreach $key (keys %var){
|
||||
print "\t--$key=$var{$key}\n";
|
||||
}
|
||||
}
|
||||
sub do_help {
|
||||
print "\navailable options with defaults: \n";
|
||||
print_options;
|
||||
print "\n--enable|disable-<thing> is equivalent to --<thing>=yes|no\n";
|
||||
exit(0);
|
||||
}
|
||||
|
||||
# override with command line args
|
||||
while ($a = shift) {
|
||||
if ($a eq "--help") { do_help; }
|
||||
elsif ($a =~ m/^--enable-(.+)/) { $var{$1} = "yes"; }
|
||||
elsif ($a =~ m/^--disable-(.+)/) { $var{$1} = "no"; }
|
||||
elsif ($a =~ m/^--(.+?)=(.+)/) { $var{$1} = $2; }
|
||||
else {print "invalid argument ".$a."\n"; do_help;}
|
||||
}
|
||||
|
||||
|
||||
print "generating Makefile.defs\n";
|
||||
open CONFIG, ">Makefile.defs";
|
||||
sub config {print CONFIG shift; print CONFIG "\n";}
|
||||
|
||||
|
||||
config "CC = $var{CC}" ;
|
||||
config "PREFIX = $var{prefix}" ;
|
||||
|
||||
if ($var{debug} eq "yes"){
|
||||
config "DEBUG_CFLAGS = -g -Wall -Werror -W -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -g";
|
||||
}
|
||||
else {
|
||||
config "OPTI_CFLAGS = -O3 -fomit-frame-pointer -ffast-math -funroll-loops";
|
||||
}
|
||||
|
||||
|
||||
|
||||
close CONFIG;
|
||||
89
branches/V-1.5.3/sendVIMS/help-sendVIMS.pd
Normal file
@@ -0,0 +1,89 @@
|
||||
#N canvas 44 39 828 878 10;
|
||||
#X obj 407 24 sendVIMS;
|
||||
#X msg 469 -84 connect localhost 3490;
|
||||
#X msg 469 -62 disconnect;
|
||||
#X text 573 -126 open a video stream <deviceID> <channelID>;
|
||||
#X text 491 25 optional creation arguments: <host> <port>;
|
||||
#X text 79 -173 (c) 2004-2006 Niels Elburg & Tom Schouten;
|
||||
#X text 37 -80 some command modifiers are supported. these can be prepended
|
||||
to a standard veejay command.;
|
||||
#X text 63 -41 '+ <n>' delay for n frames before sending command;
|
||||
#X text 614 -81 connect to veejay. (no port specified : default);
|
||||
#X text 493 41 default = localhost 3490;
|
||||
#X msg 467 -142 + 10 p240 0 1;
|
||||
#X msg 468 -117 p240 0 1;
|
||||
#X msg 466 -172 quit;
|
||||
#X obj 407 101 print status;
|
||||
#X obj 407 73 spigot;
|
||||
#X obj 448 49 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
|
||||
;
|
||||
#X obj 105 71 unpack 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
|
||||
#X floatatom 80 201 5 0 0 0 - - -;
|
||||
#N canvas 488 217 481 424 aliases 0;
|
||||
#X text 23 12 All veejay ports are addressable by their symbolic selector
|
||||
\, which is 'p' plus the number of the port. Some messages have more
|
||||
readable aliases.;
|
||||
#X msg 15 141 video.play.forward;
|
||||
#X msg 15 165 video.play.backward;
|
||||
#X msg 15 117 video.play.stop;
|
||||
#X msg 15 65 video.goto.start;
|
||||
#X msg 270 258 quit;
|
||||
#X floatatom 263 136 5 0 0 0 - - -;
|
||||
#X floatatom 263 84 5 0 0 0 - - -;
|
||||
#X msg 254 98 video.set.frame \$1;
|
||||
#X msg 254 151 video.set.speed \$1;
|
||||
#X obj 15 279 s \$0-0;
|
||||
#X obj 16 361 r \$0-0;
|
||||
#X obj 16 382 outlet;
|
||||
#X obj 254 287 s \$0-0;
|
||||
#X msg 15 89 video.goto.end;
|
||||
#X msg 270 236 aliases;
|
||||
#X text 331 235 print all aliases;
|
||||
#X connect 1 0 10 0;
|
||||
#X connect 2 0 10 0;
|
||||
#X connect 3 0 10 0;
|
||||
#X connect 4 0 10 0;
|
||||
#X connect 5 0 13 0;
|
||||
#X connect 6 0 9 0;
|
||||
#X connect 7 0 8 0;
|
||||
#X connect 8 0 13 0;
|
||||
#X connect 9 0 13 0;
|
||||
#X connect 11 0 12 0;
|
||||
#X connect 14 0 10 0;
|
||||
#X connect 15 0 13 0;
|
||||
#X restore 470 -24 pd aliases;
|
||||
#X text 38 -143 the object maps pd messages to veejay commands. the
|
||||
veejay ports are accessed by a symbol composed of the letter 'p' followed
|
||||
by the port number. see the veejay documentation for more info. (or
|
||||
run 'veejay -u | less');
|
||||
#X text 556 -23 <- a list of aliases for the p<n> port names;
|
||||
#X floatatom 112 218 5 0 0 0 - - -;
|
||||
#X floatatom 131 238 5 0 0 0 - - -;
|
||||
#X text 182 123 Status outlets. The outlet values depend on the playback
|
||||
mode. Properties like first and last frame \, looptype and trickplay
|
||||
speed are n/a when playing in plain (2) or stream mode (1). Outlet
|
||||
0 = elapsed render time (in ms) 1 = frame number 2 = playback mode
|
||||
(0=sample \, 1=stream \, 2=plain) 3 = identifier (sample or stream)
|
||||
4 = process effect chain (0=off \, 1=on) 5 = first frame of sample
|
||||
6 = last frame of sample 7 = trickplay speed 8 = looptype (0=none \,
|
||||
1=normal \, 2=bounce) 9 = recording (0=no \, 1=yes) 10 = frames to
|
||||
record 11 = frames left to record (counts to 0) 12 = number of samples
|
||||
or streams 13 = in position of sample 14 = out position of sample 15
|
||||
= select fx entry (0=first \, 19=last) 16 = total number of samples
|
||||
and streams 17 = cache consumed (0-100);
|
||||
#X text 9 -189 sendVIMS: an interface to veejay-0.9.8 internal message
|
||||
system;
|
||||
#X msg 91 -194;
|
||||
#X connect 0 0 14 0;
|
||||
#X connect 0 0 16 0;
|
||||
#X connect 1 0 0 0;
|
||||
#X connect 2 0 0 0;
|
||||
#X connect 10 0 0 0;
|
||||
#X connect 11 0 0 0;
|
||||
#X connect 12 0 0 0;
|
||||
#X connect 14 0 13 0;
|
||||
#X connect 15 0 14 1;
|
||||
#X connect 16 0 17 0;
|
||||
#X connect 16 1 21 0;
|
||||
#X connect 16 2 22 0;
|
||||
#X connect 18 0 0 0;
|
||||
17
branches/V-1.5.3/sendVIMS/parse-vims.pl
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
# feed this script with vims.h to generate selectors.h
|
||||
|
||||
print "// selector.h\n";
|
||||
print "// generated from vims.h\n";
|
||||
while (<>){
|
||||
if (m/VIMS_(\S+)\s*=\s*(\d+)\s*,/) {
|
||||
$id = $2; # numeric id
|
||||
$tag = lc $1; # convert to lower case
|
||||
$tag =~ s/_/\./g; # pd-ify
|
||||
|
||||
$nid = int( $id );
|
||||
|
||||
print "SELECTOR(\"" . $tag . "\", " . $id . ");\n" if $nid <= 400 or $nid >= 500;
|
||||
}
|
||||
}
|
||||
562
branches/V-1.5.3/sendVIMS/sendVIMS.c
Normal file
@@ -0,0 +1,562 @@
|
||||
/* sendVIMS - very simple client for VeeJay
|
||||
* (C) 2002-2004 Niels Elburg <elburg@hio.hen.nl>
|
||||
*
|
||||
* puredata module by Tom Schouten <doelie@zzz.kotnet.org>
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <netdb.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
#include <pthread.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#include "m_pd.h"
|
||||
|
||||
|
||||
#define POLL_INTERVAL (1.0f) // agressive polling
|
||||
#define MAX_MSG 256 // maximum message size (bytes)
|
||||
|
||||
#define QUEUE_SIZE (1<<8) // message queue size (power of 2)
|
||||
#define QUEUE_MASK (QUEUE_SIZE - 1)
|
||||
|
||||
|
||||
// some symbols used in comm
|
||||
// (gensym not thread safe)
|
||||
static t_symbol *s_disconnect = 0;
|
||||
static t_symbol *s_veejay = 0;
|
||||
|
||||
static t_symbol *selector[602];
|
||||
|
||||
/* DATA STRUCTURES */
|
||||
|
||||
typedef struct {
|
||||
struct hostent *he;
|
||||
struct sockaddr_in server_addr;
|
||||
int handle;
|
||||
} veejay_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
int delay; // nb of frames to delay this msg
|
||||
char msg[MAX_MSG - sizeof(int)];
|
||||
} vj_msg_t;
|
||||
|
||||
typedef struct {
|
||||
t_symbol *selector;
|
||||
int argc;
|
||||
t_atom argv[(MAX_MSG / sizeof(t_atom)) - sizeof(t_symbol *) - sizeof(int)];
|
||||
} pd_msg_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
void *queue[QUEUE_SIZE];
|
||||
unsigned int read;
|
||||
unsigned int write;
|
||||
} queue_t;
|
||||
|
||||
typedef struct {
|
||||
t_object obj;
|
||||
t_outlet *outlet;
|
||||
|
||||
/* network */
|
||||
t_symbol *hostname;
|
||||
int port;
|
||||
veejay_t status_socket;
|
||||
veejay_t command_socket;
|
||||
|
||||
/* message queues */
|
||||
queue_t vq; /* pd -> veejay */
|
||||
queue_t pq; /* veejay -> pd */
|
||||
t_clock *clock; // polling clock
|
||||
|
||||
/* thread */
|
||||
pthread_t thread;
|
||||
jmp_buf errorhandler;
|
||||
|
||||
/* obj status */
|
||||
int connected; // socket connected
|
||||
int run; // communication thread running
|
||||
|
||||
} sendVIMS_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* CODE */
|
||||
|
||||
|
||||
/* messages */
|
||||
|
||||
// free message (pd_msg_t and vj_msg_t)
|
||||
void msg_free(void *m){
|
||||
if (!m) return;
|
||||
free(m);
|
||||
}
|
||||
|
||||
// map symbolic selector to numeric veejay id
|
||||
int selector_map(t_symbol *s){
|
||||
int i;
|
||||
|
||||
// map p<num> syms
|
||||
if (s->s_name[0] == 'p'){
|
||||
return atoi(s->s_name + 1);
|
||||
}
|
||||
|
||||
// check the stuff from selectors.h
|
||||
for (i=0; i<602; i++){
|
||||
if (s == selector[i]) return i;
|
||||
}
|
||||
|
||||
// fallthrough
|
||||
post("sendVIMS: selector %d not recognized", s->s_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void setup_selectors(void){
|
||||
memset(selector, 0, sizeof(selector));
|
||||
#define SELECTOR(name, id) selector[id] = gensym(name)
|
||||
#include "selectors.h"
|
||||
#undef SELECTOR
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// create a pd message from a veejay message
|
||||
// will be zero terminated (extra check)
|
||||
|
||||
|
||||
pd_msg_t *pd_msg_new(char *msg){
|
||||
int i, parsed, size = -1;
|
||||
char *body = msg + 5;
|
||||
pd_msg_t *m = 0;
|
||||
int s[24];
|
||||
int n = 0;
|
||||
|
||||
/* get 24 ints */
|
||||
n = sscanf(body, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
|
||||
s+0, s+1, s+2, s+3,
|
||||
s+4, s+5, s+6, s+7,
|
||||
s+8, s+9, s+10, s+11,
|
||||
s+12, s + 13, s + 14, s + 15, s + 16, s + 17, s + 18, s + 19, s + 20, s + 21, s + 22, s + 23, s + 24, s + 25, s + 26);
|
||||
if (n != 27) goto error;
|
||||
|
||||
/* create msg */
|
||||
m = malloc(sizeof(*m));
|
||||
m->selector = s_veejay; // not used
|
||||
m->argc = n;
|
||||
for(i=0; i<n; i++) SETFLOAT(m->argv + i, (float)s[i]);
|
||||
return m;
|
||||
|
||||
error:
|
||||
msg_free(m);
|
||||
post("Parsed only %d out of %d status outlets", n,20 );
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// create veejay message from a pd message
|
||||
vj_msg_t *vj_msg_new(t_symbol *selector, int argc, t_atom *argv){
|
||||
vj_msg_t *m = malloc(sizeof(*m));
|
||||
char *body, *c = m->msg;
|
||||
m->delay = 0;
|
||||
m->msg[0] = 0;
|
||||
|
||||
// the format of a message is simple
|
||||
// if the first argument is a "+" the next argument (float)
|
||||
// will be interpreted as a frame delay
|
||||
|
||||
if (selector == gensym("+")){
|
||||
|
||||
// get delay
|
||||
if (!argc) goto error;
|
||||
if (argv->a_type != A_FLOAT) goto error;
|
||||
m->delay = (int)argv->a_w.w_float;
|
||||
argc--, argv++;
|
||||
|
||||
// get real selector
|
||||
if (!argc) goto error;
|
||||
if (argv->a_type != A_SYMBOL) goto error;
|
||||
selector = argv->a_w.w_symbol;
|
||||
argc--, argv++;
|
||||
}
|
||||
|
||||
// the rest is interpreted as a veejay message
|
||||
|
||||
// leave space for data header
|
||||
c += sprintf(c, "V000D"); body = c;
|
||||
|
||||
// map selector
|
||||
c += sprintf(c, "%03d:", selector_map(selector));
|
||||
|
||||
// print args
|
||||
while (argc){
|
||||
switch(argv->a_type){
|
||||
case A_SYMBOL:
|
||||
c += sprintf(c, "%s", argv->a_w.w_symbol->s_name);
|
||||
if(argc > 1)
|
||||
c += sprintf(c, "%s", " ");
|
||||
|
||||
break;
|
||||
case A_FLOAT:
|
||||
c += sprintf(c, "%d", (int)argv->a_w.w_float);
|
||||
if(argc > 1)
|
||||
c += sprintf(c, "%s", " ");
|
||||
|
||||
break;
|
||||
default:
|
||||
goto error;
|
||||
}
|
||||
argc--,argv++;
|
||||
}
|
||||
c += sprintf(c, ";");
|
||||
sprintf(m->msg, "V%03d", strlen(body)); // fill header
|
||||
m->msg[4] = 'D';
|
||||
return m;
|
||||
|
||||
error:
|
||||
post("sendVIMS: parse error");
|
||||
msg_free(m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* queues */
|
||||
|
||||
|
||||
void queue_write(queue_t *x, void *m){
|
||||
int messages = (x->write - x->read) & QUEUE_MASK;
|
||||
if (messages == QUEUE_MASK){
|
||||
post("sendVIMS: message queue full: ignoring command");
|
||||
free(m);
|
||||
}
|
||||
else {
|
||||
x->queue[x->write] = m;
|
||||
x->write = (x->write + 1) & QUEUE_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
void *queue_read(queue_t *x){
|
||||
void *msg = 0;
|
||||
int messages = (x->write - x->read) & QUEUE_MASK;
|
||||
if (!messages) return 0;
|
||||
else {
|
||||
msg = x->queue[x->read];
|
||||
x->read = (x->read + 1) & QUEUE_MASK;
|
||||
}
|
||||
return msg;
|
||||
}
|
||||
|
||||
void queue_init(queue_t *x){
|
||||
memset(x, 0, sizeof(queue_t));
|
||||
}
|
||||
|
||||
|
||||
/* pd object */
|
||||
|
||||
|
||||
// queue pd -> veejay
|
||||
void sendVIMS_vq_write(sendVIMS_t *x, vj_msg_t *m){ queue_write(&x->vq, (void *)m); }
|
||||
vj_msg_t *sendVIMS_vq_read(sendVIMS_t *x){ return (vj_msg_t *)queue_read(&x->vq); }
|
||||
|
||||
// queue veejay -> pd
|
||||
void sendVIMS_pq_write(sendVIMS_t *x, pd_msg_t *m){ queue_write(&x->pq, (void *)m); }
|
||||
pd_msg_t *sendVIMS_pq_read(sendVIMS_t *x){ return (pd_msg_t *)queue_read(&x->pq); }
|
||||
|
||||
|
||||
// connect a veejay port
|
||||
static int vj_connect(veejay_t *v, char *name, int port_id ) {
|
||||
v->he = gethostbyname(name);
|
||||
v->handle = socket( AF_INET, SOCK_STREAM, 0);
|
||||
v->server_addr.sin_family = AF_INET;
|
||||
v->server_addr.sin_port = htons(port_id);
|
||||
v->server_addr.sin_addr = *( (struct in_addr*) v->he->h_addr);
|
||||
if(connect(v->handle, (struct sockaddr*)
|
||||
&v->server_addr,sizeof(struct sockaddr))==-1) return -1; /* error */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// send disconnect command from thread
|
||||
static void sendVIMS_disconnect_from_thread(sendVIMS_t *x){
|
||||
pd_msg_t *m = malloc(sizeof(*m));
|
||||
m->selector = s_disconnect;
|
||||
m->argc = 0;
|
||||
sendVIMS_pq_write(x, m); // send close command
|
||||
longjmp(x->errorhandler, -1); // jump to thread error handler
|
||||
}
|
||||
|
||||
// read one chunk of status information
|
||||
static pd_msg_t *sendVIMS_status(sendVIMS_t *x) {
|
||||
int gotbytes = 0;
|
||||
int wantbytes = 0;
|
||||
pd_msg_t *m = 0;
|
||||
char buf[100];
|
||||
int size = -1;
|
||||
|
||||
// read header
|
||||
wantbytes = 5;
|
||||
gotbytes = recv(x->status_socket.handle, buf, wantbytes, 0);
|
||||
if (wantbytes != gotbytes) goto error;
|
||||
if (1 != sscanf(buf, "V%03dD", &size)) goto proto_error;
|
||||
|
||||
// read body
|
||||
wantbytes = size;
|
||||
gotbytes = recv(x->status_socket.handle, buf + 5, wantbytes, 0);
|
||||
if (wantbytes != gotbytes) goto error;
|
||||
|
||||
// return a pd message
|
||||
return pd_msg_new(buf);
|
||||
|
||||
error:
|
||||
if (gotbytes > 0) {
|
||||
post("sendVIMS: message truncated: wanted %d bytes, got %d",
|
||||
wantbytes, gotbytes);
|
||||
}
|
||||
else if (gotbytes == 0) {
|
||||
post("sendVIMS: remote end closed connection");
|
||||
}
|
||||
else {
|
||||
perror("sendVIMS");
|
||||
}
|
||||
return 0;
|
||||
|
||||
proto_error:
|
||||
post("sendVIMS: protocol error: not a valid veejay header.");
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
// flush and get status messages
|
||||
static void sendVIMS_flush(sendVIMS_t *x, int frames) {
|
||||
pd_msg_t *m;
|
||||
int n = 0;
|
||||
while (frames--){
|
||||
m = sendVIMS_status(x); // get status message
|
||||
if (!m) {
|
||||
// disconnect on error
|
||||
sendVIMS_disconnect_from_thread(x);
|
||||
return;
|
||||
}
|
||||
sendVIMS_pq_write(x, m); // write it to queue
|
||||
}
|
||||
}
|
||||
|
||||
// send a raw message to veejay
|
||||
static void sendVIMS_send(sendVIMS_t *x, char *buf) {
|
||||
|
||||
//post("sending msg: '%s'", buf);
|
||||
if ((send(x->command_socket.handle, buf, strlen(buf), 0)) == -1)
|
||||
{ /* send the command */
|
||||
perror("sendVIMS: can't send: ");
|
||||
sendVIMS_disconnect_from_thread(x);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// init struct with defaults
|
||||
static void sendVIMS_init(sendVIMS_t *x){
|
||||
memset(&x->status_socket, 0, sizeof(veejay_t));
|
||||
memset(&x->command_socket, 0, sizeof(veejay_t));
|
||||
queue_init(&x->vq);
|
||||
queue_init(&x->pq);
|
||||
x->hostname = gensym("localhost");
|
||||
x->port = 3490;
|
||||
x->connected = 0;
|
||||
x->run = 0;
|
||||
}
|
||||
|
||||
// disco vj
|
||||
static void sendVIMS_disconnect(sendVIMS_t *x){
|
||||
|
||||
void *m = 0;
|
||||
|
||||
// stop thread
|
||||
if (x->run){
|
||||
x->run = 0;
|
||||
pthread_join(x->thread, 0);
|
||||
}
|
||||
|
||||
// close socket
|
||||
if (x->connected){
|
||||
close(x->status_socket.handle);
|
||||
close(x->command_socket.handle);
|
||||
x->connected = 0;
|
||||
post("sendVIMS: disconnected.");
|
||||
}
|
||||
|
||||
// clear vq & pq
|
||||
while (m = sendVIMS_vq_read(x)) msg_free(m);
|
||||
while (m = sendVIMS_pq_read(x)) msg_free(m);
|
||||
}
|
||||
|
||||
// veejay command thread
|
||||
static void sendVIMS_thread(sendVIMS_t *x){
|
||||
vj_msg_t *m;
|
||||
|
||||
/* install error handler:
|
||||
just terminate thread (wait for join) */
|
||||
if (setjmp(x->errorhandler)) return;
|
||||
|
||||
/* sync to veejay */
|
||||
while (x->run){
|
||||
|
||||
/* perform all commands in vq */
|
||||
while (m = sendVIMS_vq_read(x)){
|
||||
sendVIMS_flush(x, m->delay); // sync to next frame
|
||||
sendVIMS_send(x, m->msg); // send command
|
||||
}
|
||||
|
||||
/* sync to next frame */
|
||||
sendVIMS_flush(x, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// co vj
|
||||
static void sendVIMS_connect(sendVIMS_t *x, t_symbol *host, t_float fport){
|
||||
pthread_attr_t attr;
|
||||
int port = (int)fport;
|
||||
if (!port) port = 3490; // default veejay port
|
||||
|
||||
/* connect */
|
||||
sendVIMS_disconnect(x); // disco first
|
||||
if ((vj_connect(&x->command_socket, host->s_name, port)) == -1){
|
||||
post("sendVIMS: can't connect to veejay at %s:%d (command port)", host->s_name, port);
|
||||
goto error;
|
||||
}
|
||||
if ((vj_connect(&x->status_socket, host->s_name, port+1)) == -1){
|
||||
post("sendVIMS: can't connect to veejay at %s:%d (status port)", host->s_name, port);
|
||||
goto error;
|
||||
}
|
||||
x->connected = 1;
|
||||
|
||||
/* start thread */
|
||||
x->run = 1;
|
||||
pthread_attr_init(&attr);
|
||||
pthread_attr_setschedpolicy(&attr, SCHED_OTHER);
|
||||
pthread_create(&x->thread, &attr, (void* (*)(void *))sendVIMS_thread, x);
|
||||
|
||||
/* done */
|
||||
post("sendVIMS: connected to %s:%d", host->s_name, port);
|
||||
return;
|
||||
|
||||
error:
|
||||
sendVIMS_disconnect(x);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static void sendVIMS_reconnect(sendVIMS_t *x){
|
||||
sendVIMS_disconnect(x);
|
||||
sendVIMS_connect(x, x->hostname, x->port);
|
||||
}
|
||||
|
||||
// pd input message handler
|
||||
static void sendVIMS_anything(sendVIMS_t *x, t_symbol *selector, int argc, t_atom *argv){
|
||||
vj_msg_t *m = 0;
|
||||
if (!x->connected) post("sendVIMS: not connected to veejay.");
|
||||
else if (m = vj_msg_new(selector, argc, argv)) sendVIMS_vq_write(x, m);
|
||||
}
|
||||
|
||||
|
||||
t_class *sendVIMS_class = 0;
|
||||
|
||||
static void sendVIMS_free(sendVIMS_t *x){
|
||||
sendVIMS_disconnect(x);
|
||||
clock_free(x->clock);
|
||||
}
|
||||
|
||||
// pd queue poller
|
||||
static void sendVIMS_tick(sendVIMS_t *x){
|
||||
pd_msg_t *m;
|
||||
clock_delay(x->clock, POLL_INTERVAL);
|
||||
|
||||
while (m = sendVIMS_pq_read(x)){
|
||||
if (m->selector == s_veejay){
|
||||
outlet_anything(x->outlet, gensym("list"), m->argc, m->argv);
|
||||
}
|
||||
else if (m->selector == s_disconnect){
|
||||
sendVIMS_disconnect(x);
|
||||
}
|
||||
msg_free(m);
|
||||
}
|
||||
}
|
||||
|
||||
static void *sendVIMS_new(t_symbol *moi, int argc, t_atom *argv){
|
||||
sendVIMS_t *x = (sendVIMS_t *)pd_new(sendVIMS_class);
|
||||
sendVIMS_init(x);
|
||||
|
||||
x->clock = clock_new(x, (t_method)sendVIMS_tick);
|
||||
x->outlet = outlet_new(&x->obj, gensym("anything"));
|
||||
|
||||
if ((argc >= 1) && argv[0].a_type == A_SYMBOL){
|
||||
x->hostname = argv[1].a_w.w_symbol;
|
||||
}
|
||||
if ((argc >= 2) && argv[1].a_type == A_FLOAT){
|
||||
x->port = (int)argv[1].a_w.w_float;
|
||||
}
|
||||
sendVIMS_connect(x, x->hostname, x->port);
|
||||
|
||||
sendVIMS_tick(x); // start clock
|
||||
|
||||
return (void *)x;
|
||||
}
|
||||
|
||||
static void post_selectors(void){
|
||||
int i;
|
||||
for (i=0; i<600; i++){
|
||||
if (selector[i]){
|
||||
post("p%03d = %s", i, selector[i]->s_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sendVIMS_setup(void){
|
||||
post("sendVIMS: version " VERSION);
|
||||
post("sendVIMS: (c) 2004-2006 Niels Elburg & Tom Schouten");
|
||||
post("sendVIMS: assuming veejay-0.9.8");
|
||||
|
||||
s_disconnect = gensym("disconnect");
|
||||
s_veejay = gensym("veejay");
|
||||
setup_selectors();
|
||||
|
||||
sendVIMS_class = class_new(gensym("sendVIMS"), (t_newmethod)sendVIMS_new,
|
||||
(t_method)sendVIMS_free, sizeof(sendVIMS_t), 0, A_GIMME, 0);
|
||||
class_addanything(sendVIMS_class, (t_method)sendVIMS_anything);
|
||||
class_addmethod(sendVIMS_class, (t_method)sendVIMS_reconnect, gensym("reconnect"), 0);
|
||||
class_addmethod(sendVIMS_class, (t_method)sendVIMS_disconnect, gensym("disconnect"), 0);
|
||||
class_addmethod(sendVIMS_class, (t_method)sendVIMS_connect, gensym("connect"), A_SYMBOL, A_DEFFLOAT, 0);
|
||||
|
||||
class_addmethod(sendVIMS_class, (t_method)post_selectors, gensym("aliases"), 0);
|
||||
|
||||
}
|
||||
21
branches/V-1.5.3/veejay-client/AUTHORS
Normal file
@@ -0,0 +1,21 @@
|
||||
Tim Philipp M<>ller
|
||||
(CellRendererSpin 15 minute hack - good enough)
|
||||
|
||||
Matthijs v. Henten <cola@looze.net>:
|
||||
Glade-2 interface design
|
||||
Icon/picture design
|
||||
|
||||
Thomas Reinhold <stan@jf-chemnitz.de>
|
||||
Samplebank
|
||||
|
||||
Dursun Koca
|
||||
Veejay Logo (V) design
|
||||
|
||||
Niels Elburg <nwelburg@gmail.com>
|
||||
Lead programming
|
||||
|
||||
Contributions by:
|
||||
Toni < oc2pus@arcor.de >
|
||||
(making gveejay happen on GTK 2.4, veejay.spec file)
|
||||
|
||||
|
||||
340
branches/V-1.5.3/veejay-client/COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
0
branches/V-1.5.3/veejay-client/ChangeLog
Normal file
179
branches/V-1.5.3/veejay-client/Makefile.am
Normal file
@@ -0,0 +1,179 @@
|
||||
# Process with automake to produce Makefile.in
|
||||
SUBDIRS = src
|
||||
|
||||
EXTRA_DIST = \
|
||||
autogen.sh\
|
||||
depcomp \
|
||||
cpuinfo.sh \
|
||||
autogen.sh \
|
||||
debian/copyright \
|
||||
debian/changelog \
|
||||
debian/control \
|
||||
debian/rules \
|
||||
share/bg.png \
|
||||
share/bg_black.png \
|
||||
share/bg_blue.png \
|
||||
share/bg_green.png \
|
||||
share/bg_grey.png \
|
||||
share/bg_red.png \
|
||||
share/bg_yellow.png \
|
||||
share/blackwhite.rc \
|
||||
share/button_back.png \
|
||||
share/button_bounce.png \
|
||||
share/button_dec.png \
|
||||
share/button_down.png \
|
||||
share/button_fbw.png \
|
||||
share/button_ffw.png \
|
||||
share/button_gotoend.png \
|
||||
share/button_gotostart.png \
|
||||
share/button_inc.png \
|
||||
share/button_loop.png \
|
||||
share/button_looponce.png \
|
||||
share/button_mini_decrement.png \
|
||||
share/button_mini_increment.png \
|
||||
share/button_next.png \
|
||||
share/button_pause.png \
|
||||
share/button_play.png \
|
||||
share/button_playmode.png \
|
||||
share/button_prev.png \
|
||||
share/button_rand.png \
|
||||
share/button_reverse.png \
|
||||
share/button_right.png \
|
||||
share/button_skip.png \
|
||||
share/button_skull.png \
|
||||
share/button_text.png \
|
||||
share/button_up.png \
|
||||
share/fx_entry_off.png \
|
||||
share/fx_entry_on.png \
|
||||
share/gveejay-default.rc \
|
||||
share/gveejay.glade \
|
||||
share/gveejay.rc \
|
||||
share/gveejay.reloaded.glade \
|
||||
share/gveejay.reloaded.glade.bak \
|
||||
share/gveejay.reloaded.gladep \
|
||||
share/gveejay.reloaded.gladep.bak \
|
||||
share/gveejay.reloaded.glade~ \
|
||||
share/high_contrast.rc \
|
||||
share/icon_apply.png \
|
||||
share/icon_berserk.png \
|
||||
share/icon_bezerk.png \
|
||||
share/icon_bounce.png \
|
||||
share/icon_bug.png \
|
||||
share/icon_bundle.png \
|
||||
share/icon_cache.png \
|
||||
share/icon_clear.png \
|
||||
share/icon_clearall.png \
|
||||
share/icon_color.png \
|
||||
share/icon_connect.png \
|
||||
share/icon_copy.png \
|
||||
share/icon_crop.png \
|
||||
share/icon_cut.png \
|
||||
share/icon_disconnect.png \
|
||||
share/icon_fadein.png \
|
||||
share/icon_fadeout.png \
|
||||
share/icon_jack.png \
|
||||
share/icon_keybind.png \
|
||||
share/icon_keydetach.png \
|
||||
share/icon_keyframe.png \
|
||||
share/icon_launch.png \
|
||||
share/icon_loop.png \
|
||||
share/icon_looponce.png \
|
||||
share/icon_macroclear.png \
|
||||
share/icon_macropause.png \
|
||||
share/icon_macroplay.png \
|
||||
share/icon_macrorec.png \
|
||||
share/icon_mask.png \
|
||||
share/icon_minus.png \
|
||||
share/icon_new.png \
|
||||
share/icon_noloop.png \
|
||||
share/icon_open.png \
|
||||
share/icon_openlist.png \
|
||||
share/icon_openstream.png \
|
||||
share/icon_osd.png \
|
||||
share/icon_paste.png \
|
||||
share/icon_plarge.png \
|
||||
share/icon_playmode.png \
|
||||
share/icon_plus.png \
|
||||
share/icon_psmall.png \
|
||||
share/icon_question.png \
|
||||
share/icon_record.png \
|
||||
share/icon_recordstop.png \
|
||||
share/icon_recstop.png \
|
||||
share/icon_refresh.png \
|
||||
share/icon_render.png \
|
||||
share/icon_save.png \
|
||||
share/icon_saveas.png \
|
||||
share/icon_screenshot.png \
|
||||
share/icon_send.png \
|
||||
share/icon_skull.png \
|
||||
share/icon_stream.png \
|
||||
share/icon_trash.png \
|
||||
share/icon_video.png \
|
||||
share/knob.png \
|
||||
share/reloaded_classic.glade \
|
||||
share/smooth.rc \
|
||||
share/sync.png \
|
||||
share/veejay-icon.png \
|
||||
share/veejay-logo-small.png \
|
||||
share/veejay-logo.png \
|
||||
gveejay-paths.sh.in
|
||||
|
||||
DISTCLEANFILES = \
|
||||
confdefs.h \
|
||||
config.cache \
|
||||
config.status \
|
||||
config.log \
|
||||
gveejay-paths.h
|
||||
|
||||
|
||||
MAINTAINERCLEANFILES = \
|
||||
compile \
|
||||
depcomp \
|
||||
install-sh \
|
||||
missing \
|
||||
mkinstalldirs \
|
||||
Makefile.in \
|
||||
aclocal.m4 \
|
||||
config.guess \
|
||||
config.h.in \
|
||||
config.sub \
|
||||
configure \
|
||||
ltmain.sh \
|
||||
stamp-h.in
|
||||
|
||||
## .glade files must be in same directory as pixmaps ?!!
|
||||
install-data-local:
|
||||
@$(NORMAL_INSTALL)
|
||||
if test -d $(srcdir)/share; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir); \
|
||||
for dialog in $(srcdir)/share/*; do \
|
||||
if test -f $$dialog; then \
|
||||
$(INSTALL_DATA) $$dialog $(DESTDIR)$(pkgdatadir); \
|
||||
fi \
|
||||
done \
|
||||
fi;
|
||||
|
||||
|
||||
|
||||
gveejay-path.h: gveejay-paths.sh
|
||||
@sh $< > $@.tmp ;
|
||||
if cmp -s $@.tmp $@; then
|
||||
rm $@.tmp;
|
||||
else
|
||||
mv $@.tmp $@ ; echo updated gveejay-paths.h;
|
||||
fi
|
||||
|
||||
dist-hook:
|
||||
rm -f $(distdir)/gveejay-paths.sh
|
||||
|
||||
## make rpms
|
||||
rpm: Makefile
|
||||
$(MAKE) dist
|
||||
rpmbuild -ta --clean $(PACKAGE)-$(VERSION).tar.gz
|
||||
|
||||
## make debs
|
||||
deb: Makefile dist
|
||||
-chmod -R +w $(PACKAGE)-$(VERSION)
|
||||
rm -rf $(PACKAGE)-$(VERSION)
|
||||
tar xzf $(PACKAGE)-$(VERSION).tar.gz
|
||||
cd $(PACKAGE)-$(VERSION); dpkg-buildpackage -rfakeroot
|
||||
0
branches/V-1.5.3/veejay-client/NEWS
Normal file
113
branches/V-1.5.3/veejay-client/README
Normal file
@@ -0,0 +1,113 @@
|
||||
|
||||
~==
|
||||
~====
|
||||
:... ~~====
|
||||
:...... ~~~~====
|
||||
:.....: ~~~~====
|
||||
:...... -~~~~===
|
||||
:....... --~~~~~==
|
||||
:....... ::~~~~~~=
|
||||
:...... "::~~~~==
|
||||
:....., :::~~~===
|
||||
:..... =::~~~~===
|
||||
:...... :::~~~====
|
||||
....... ::~~~~~===
|
||||
....... :::~~~~~~==
|
||||
...... ~::~~~~~~==
|
||||
...... |::~~~=|
|
||||
..... :::|:~==|
|
||||
..::: |:=|||==+
|
||||
., :., :|||?||+=
|
||||
..::,,.: :||=~=.||
|
||||
,...::,,, |~:=|||||+|
|
||||
:..,:::||||~~~====++
|
||||
,:,,,:::~~~~~===++++ Reloaded
|
||||
,::::~~~====++++
|
||||
~~~~~===+++++ version 1.4.x
|
||||
~~===+++++++:
|
||||
N=++++++++++ Nov. 2008.
|
||||
+++++++++
|
||||
++++::::
|
||||
:::::
|
||||
||
|
||||
|
||||
|
||||
:: Reloaded, a graphical interface for Veejay ::
|
||||
|
||||
|
||||
FEATURE OVERVIEW
|
||||
|
||||
|
||||
General:
|
||||
|
||||
# Thin client (TCP/IP)
|
||||
# MIDI support (auto learning)
|
||||
# Slick interface designed for live performing
|
||||
# Tracks multiple veejay servers
|
||||
|
||||
Install
|
||||
=======
|
||||
|
||||
See file 'INSTALL'
|
||||
|
||||
See doc/Howto_Compile.html
|
||||
See doc/Howto_Compile_on_Ubuntu.html
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
See source code.
|
||||
|
||||
Running
|
||||
=======
|
||||
|
||||
$ reloaded
|
||||
|
||||
|
||||
To use a midi controller with veejay you must connect
|
||||
the veejay's sequencer port to the MIDI controller port.
|
||||
There is a utility 'aconnect' (comes with ALSA) that does this.
|
||||
|
||||
1. List inputs (midi keyboards)
|
||||
$ aconnect -i
|
||||
|
||||
client 129: 'Virtual Keyboard' [type=user]
|
||||
|
||||
|
||||
2. List outputs (Veejay)
|
||||
$ aconnect -o
|
||||
|
||||
client 128: 'Veejay' [type=user]
|
||||
|
||||
|
||||
3. Connect the ports
|
||||
|
||||
$ aconnect 129 128
|
||||
|
||||
|
||||
4. Launch reloaded
|
||||
|
||||
|
||||
|
||||
Know bugs
|
||||
=========
|
||||
- Multitracker crashes when using very high resolution video
|
||||
|
||||
|
||||
|
||||
|
||||
About
|
||||
=====
|
||||
|
||||
GveejayReloaded is a client for veejay. As long as veejay (the server)
|
||||
is running, you can connect and disconnect from it with reloaded.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
5
branches/V-1.5.3/veejay-client/autogen.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
|
||||
|
||||
autoreconf -v -f -i
|
||||
703
branches/V-1.5.3/veejay-client/configure.ac
Normal file
@@ -0,0 +1,703 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl AC_INIT
|
||||
AC_INIT([reloaded],[1.5.3],[nwelburg@gmail.com])
|
||||
AC_PREREQ(2.57)
|
||||
AC_CONFIG_SRCDIR([src/gveejay.c])
|
||||
|
||||
RELOADED_MAJOR_VERSION=1
|
||||
RELOADED_MINOR_VERSION=5
|
||||
RELOADED_MICRO_VERSION=2
|
||||
RELOADED_VERSION=$VEEJAY_MAJOR_VERSION.$VEEJAY_MINOR_VERSION.$VEEJAY_MICRO_VERSION
|
||||
RELOADED_CODENAME="Reloaded - build $RELOADED_MAJOR_VERSION $RELOADED_MINOR_VERSION $RELOADED_MICRO_VERSION"
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE([1.7])
|
||||
AM_MAINTAINER_MODE
|
||||
AM_INIT_AUTOMAKE([dist-bzip2])
|
||||
|
||||
AC_DEFINE(HAVE_CONFIG_H,1,[Include config.h])
|
||||
# libtool versioning
|
||||
LT_RELEASE=$RELOADED_MAJOR_VERSION.$RELOADED_MINOR_VERSION.$RELOADED_MICRO_VERSION
|
||||
LT_CURRENT=$RELOADED_MICRO_VERSION
|
||||
LT_REVISION=$RELOADED_MICRO_VERSION
|
||||
LT_AGE=$RELOADED_MICRO_VERSION
|
||||
AC_SUBST(LT_RELEASE)
|
||||
AC_SUBST(LT_CURRENT)
|
||||
AC_SUBST(LT_REVISION)
|
||||
AC_SUBST(LT_AGE)
|
||||
|
||||
dnl kill CFLAGS
|
||||
CFLAGS=""
|
||||
AC_ARG_ENABLE(strict,
|
||||
AC_HELP_STRING([--enable-strict],
|
||||
[Compile in paranoia assertion checking]))
|
||||
AC_ARG_ENABLE(debug,
|
||||
AC_HELP_STRING([--enable-debug],
|
||||
[Compile in debugging information]))
|
||||
AC_ARG_ENABLE(profile,
|
||||
AC_HELP_STRING([--enable-profiling],
|
||||
[Compile in profiling information]))
|
||||
AC_ARG_ENABLE(compile-warnings,
|
||||
AC_HELP_STRING([--enable-compile-warnings],
|
||||
[Turn on compiler warnings.]))
|
||||
AC_ARG_ENABLE(warnings_as_errors,
|
||||
AC_HELP_STRING([--enable-warnings_as_errors],
|
||||
[Compiler warnings are errors.]))
|
||||
AC_ARG_ENABLE(simd-accel,
|
||||
AC_HELP_STRING([--enable-simd-accel],
|
||||
[use SIMD multimedia instructions such as MMX, AltiVec, etc.if possible]))
|
||||
AC_ARG_WITH(extra-cflags,
|
||||
AC_HELP_STRING([--with-extra-cflags=flags],
|
||||
[Options to be added to CFLAGS (optional)]))
|
||||
AC_ARG_WITH(pixbuf,
|
||||
AC_HELP_STRING([--without-pixbuf], [Do not use GDK pixbuf]),
|
||||
[], [with_pixbuf=yes])
|
||||
|
||||
AC_GNU_SOURCE
|
||||
|
||||
dnl Initialize libtool
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_STDC
|
||||
AC_PROG_YACC
|
||||
AM_PROG_LEX
|
||||
AC_PROG_CXX
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_C_BIGENDIAN
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
dnl configure AS and ASFLAGS...
|
||||
AM_PROG_AS
|
||||
|
||||
AC_CHECK_HEADERS([fenv.h stdint.h inttypes.h sys/types.h alloca.h])
|
||||
|
||||
dnl AX_PREFIXED_DEFINE([RELOADED], [HAVE_STDINT_H])
|
||||
dnl AX_PREFIXED_DEFINE([RELOADED], [HAVE_INTTYPES_H])
|
||||
|
||||
AC_CHECK_FUNCS([posix_memalign memalign fmax lround pow bzero gettimeofday memset mmap strndup strstr strncasecmp])
|
||||
AC_CHECK_FUNCS([sched_get_priority_max])
|
||||
AC_CHECK_FUNCS([select socket getpagesize memcpy])
|
||||
|
||||
AC_CHECK_FUNC(getopt_long,
|
||||
[AC_DEFINE(HAVE_GETOPT_LONG, 1, [long getopt support])],
|
||||
[ # FreeBSD and BSD/OS have a gnugetopt library for this:
|
||||
AC_CHECK_LIB([gnugetopt], [getopt_long],
|
||||
[AC_DEFINE(HAVE_GETOPT_LONG, 1,
|
||||
[long getopt support])
|
||||
LIBGETOPT_LIB="-lgnugetopt"])
|
||||
])
|
||||
|
||||
AC_CHECK_SIZEOF([int])
|
||||
AC_CHECK_SIZEOF([long int])
|
||||
AC_CHECK_SIZEOF([size_t])
|
||||
AC_CHECK_SIZEOF([float])
|
||||
|
||||
|
||||
|
||||
AC_SUBST(LIBGETOPT_LIB)
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
|
||||
AC_MSG_NOTICE([The host is $host $host_cpu $host_vendor $host_os .])
|
||||
|
||||
case $host in
|
||||
*-*-linux*)
|
||||
AC_CHECK_HEADER(linux/version.h,
|
||||
[have_linux=true
|
||||
AC_DEFINE(HAVE_LINUX,,[Linux platform])
|
||||
],
|
||||
[AC_MSG_ERROR([version.h not found - please install the linux kernel headers])
|
||||
])
|
||||
LIBM_LIBS="-lm"
|
||||
;;
|
||||
*-apple-darwin*)
|
||||
AC_DEFINE(HAVE_DARWIN,,[MAC OS X Darin])
|
||||
dnl OS-X/Darwin needs no-cpp-precomp
|
||||
CFLAGS="$CFLAGS -no-cpp-precomp"
|
||||
have_darwin=true
|
||||
LIBM_LIBS=""
|
||||
;;
|
||||
*)
|
||||
AC_MSG_WARN([Alien platform - Good Luck!])
|
||||
LIBM_LIBS=""
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
dnl ====== check for PKG_CONFIG_PATH
|
||||
if test x"$PKG_CONFIG_PATH" = x ; then
|
||||
AC_MSG_NOTICE([The PKG_CONFIG_PATH variable was not set])
|
||||
AC_MSG_NOTICE([You should set it to the directories that contain the .pc files])
|
||||
AC_MSG_ERROR([Abort])
|
||||
fi
|
||||
|
||||
|
||||
AC_SUBST(LIBM_LIBS)
|
||||
|
||||
dnl *********************************************************************
|
||||
dnl Check for the pthread lib
|
||||
dnl
|
||||
AC_SUBST(PTHREAD_LIBS)
|
||||
have_pthread=false
|
||||
AC_CHECK_LIB(pthread, pthread_create,
|
||||
[ PTHREAD_LIBS="-lpthread"
|
||||
AC_DEFINE(HAVE_LIBPTHREAD,,[Compiling with pthread library])
|
||||
have_pthread=true ],,)
|
||||
|
||||
AC_CHECK_FUNC(pthread_attr_getstacksize,
|
||||
[
|
||||
AC_DEFINE(HAVE_PTHREADSTACKSIZE,,[Using pthread stack size])
|
||||
] )
|
||||
|
||||
|
||||
have_alsa=false
|
||||
AC_CHECK_LIB( asound, snd_seq_open,
|
||||
[
|
||||
AC_DEFINE( HAVE_ALSA,1, [Whether or not we have alsa])
|
||||
ALSA_LIBS="-lasound"
|
||||
AC_SUBST(ALSA_LIBS)
|
||||
have_alsa=true ],,)
|
||||
|
||||
AC_CHECK_HEADER(alsa/asoundlib.h,,[AC_MSG_ERROR([alsa/asoundlib.h not found - please install the alsa header])] )
|
||||
|
||||
have_dl_dlopen=false
|
||||
AC_CHECK_LIB(dl,dlopen)
|
||||
if test "$ac_cv_lib_dl_dlopen" = "yes"; then
|
||||
AC_DEFINE(HAVE_DL_DLOPEN,,[Compile with dlopen support])
|
||||
have_dl_dlopen=true
|
||||
fi
|
||||
|
||||
dnl Check for Veejay
|
||||
have_veejay=false
|
||||
PKG_CHECK_MODULES( VEEJAY, [veejay >= 1.5.2 ],
|
||||
[
|
||||
AC_SUBST(VEEJAY_CFLAGS)
|
||||
AC_SUBST(VEEJAY_LIBS)
|
||||
have_veejay=true
|
||||
AC_DEFINE(HAVE_VEEJAY,1, [Veejay installed])]
|
||||
,
|
||||
[have_veejay=false])
|
||||
|
||||
if test x$have_veejay != xtrue ; then
|
||||
PKG_CHECK_MODULES(VEEJAY, [veejay >= 1.4.8 ],
|
||||
[
|
||||
AC_MSG_WARN([veejay-server old but should be compatible!])
|
||||
],
|
||||
[
|
||||
AC_MSG_ERROR([Cannot find veejay])
|
||||
])
|
||||
fi
|
||||
|
||||
have_pixbuf=false
|
||||
if test x$with_pixbuf != xno ; then
|
||||
PKG_CHECK_MODULES(PIXBUF, [gtk+-2.0 >= 2.8 gdk-pixbuf-2.0],
|
||||
[
|
||||
AC_SUBST(PIXBUF_CFLAGS)
|
||||
AC_SUBST(PIXBUF_LIBS)
|
||||
have_pixbuf=true
|
||||
AC_DEFINE(USE_GDK_PIXBUF, 1, [use gdk image load / save])],
|
||||
[have_pixbuf=false])
|
||||
fi
|
||||
|
||||
dnl ********************************************************************
|
||||
dnl Check to see if __progname is provided by the system
|
||||
dnl ********************************************************************
|
||||
AC_CACHE_CHECK([for __progname],
|
||||
[mjt_cv_extern___progname],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
[[extern char *__progname;
|
||||
puts(__progname);]])],
|
||||
[mjt_cv_extern___progname=yes],
|
||||
[mjt_cv_extern___progname=no])])
|
||||
if test x$mjt_cv_extern___progname = xyes ; then
|
||||
AC_DEFINE(HAVE___PROGNAME, 1, [Is __progname defined by system?])
|
||||
fi
|
||||
|
||||
dnl Look for X
|
||||
AC_PATH_XTRA
|
||||
AM_CONDITIONAL(HAVE_X, test x$have_x = xyes)
|
||||
|
||||
AC_MSG_CHECKING(whether to compile in profiling information)
|
||||
if test "x$enable_profiling" = "xyes" ; then
|
||||
debugCFLAGS="$debugCFLAGS -fprofile-arcs -ftest-coverage"
|
||||
DEBUGLIBS="-lgcov"
|
||||
AC_SUBST(DEBUGLIBS)
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AC_MSG_CHECKING(whether to compile in assertion checking)
|
||||
if test "x$enable_strict" = "xyes" ; then
|
||||
debugCFLAGS="$debugCFLAGS -g -DSTRICT_CHECKING"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
have_asm_nasm=false
|
||||
have_asm_mmx=false
|
||||
have_asm_sse=false
|
||||
have_asm_sse2=false
|
||||
have_asm_mmx2=false
|
||||
have_asm_3dnow=false
|
||||
have_cmov=false
|
||||
have_x86cpu=false
|
||||
have_x86_64cpu=false
|
||||
have_altivec=false
|
||||
have_mips=false
|
||||
have_ppccpu=false
|
||||
have_ps2=false
|
||||
|
||||
OP_CFLAGS=""
|
||||
YUVCFLAGS="-fif-conversion"
|
||||
|
||||
AC_MSG_CHECKING([Architecture])
|
||||
case $host_cpu in
|
||||
i[[3-7]]86)
|
||||
AC_DEFINE(HAVE_X86CPU,, [Compiling for x86 architecture CPU])
|
||||
AC_DEFINE(ARCH_X86,1,[Compiling for x86 architecture])
|
||||
have_x86cpu=true
|
||||
|
||||
PROGRAM_NOPIC="-fno-PIC"
|
||||
|
||||
if test "x$enable_debug" != "xyes" ; then
|
||||
OP_CFLAGS="-O3"
|
||||
fi
|
||||
|
||||
AC_SUBST(OP_CFLAGS)
|
||||
AC_SUBST(YUVCFLAGS)
|
||||
|
||||
dnl If the host is pentium, align on double word boundary
|
||||
case $host_cpu in
|
||||
i686)
|
||||
CFLAGS="$CFLAGS"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
;;
|
||||
x86_64*|k8-*)
|
||||
AC_DEFINE(HAVE_X86_CPU,, [Compiling for x86-64 architecture CPU])
|
||||
AC_DEFINE(ARCH_X86_64,1, [Compiling for x86-64 architecture CPU])
|
||||
have_x86cpu=true
|
||||
have_x86_64cpu=true
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
;;
|
||||
powerpc | powerpc64)
|
||||
AC_DEFINE(HAVE_PPCCPU,, [Compiling for PowerPC CPU])
|
||||
AC_DEFINE(ARCH_PPC,,[Compiling for PowerPC])
|
||||
have_ppccpu=true
|
||||
|
||||
case $host in
|
||||
*-apple-darwin*)
|
||||
PROGRAM_NOPIC="-mdynamic-no-pic" # dynamic-no-pic is an Apple gcc option
|
||||
dnl CFLAGS="$CFLAGS -no-cpp-precomp"
|
||||
|
||||
;;
|
||||
*)
|
||||
PROGRAM_NOPIC=""
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
mips | mipsel)
|
||||
AC_DEFINE(ARCH_MIPS,,[Compiling for MIPS CPU])
|
||||
AC_DEFINE(HAVE_MIPS,,[Compiling for MIPS CPU])
|
||||
have_mips=true
|
||||
AC_MSG_CHECKING([if we are compiling on playstation2 hardware])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
[[#include <linux/ps2/dev.h>
|
||||
#include <linux/ps2/gs.h>
|
||||
]])],
|
||||
[have_ps2=true],
|
||||
[have_ps2=false])
|
||||
|
||||
if test x$have_ps2 = xtrue ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_PS2,,[Compile for playstation2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([unknown])
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl This flag is used for PROGRAMS not SHARED LIBRARIES. PIC code is required
|
||||
dnl for shared libraries but is slower than non-pic code. Compute bound
|
||||
dnl programs such as yuvdenoise and y4mspatialfilter can use this flag by
|
||||
dnl simply adding programname_CFLAGS=@PROGRAM_NOPIC@ to the Makefile.am
|
||||
|
||||
AC_SUBST(PROGRAM_NOPIC)
|
||||
|
||||
if test x$have_x86cpu = xtrue
|
||||
then
|
||||
AC_CACHE_CHECK(for MMX on processor(s), ac_cv_flag_mmx, [
|
||||
if grep "^flags.* mmx" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_mmx=yes
|
||||
else
|
||||
ac_cv_flag_mmx=no
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_mmx = yes; then
|
||||
AC_DEFINE(HAVE_ASM_MMX,,[Compiling in MMX support])
|
||||
AC_DEFINE(HAVE_MMX,,[Compiling in MMX support])
|
||||
have_asm_mmx=true
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for SSE on processor(s), ac_cv_flag_sse, [
|
||||
if grep "^flags.* sse" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_sse=yes
|
||||
else
|
||||
ac_cv_flag_sse=no
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_sse = yes; then
|
||||
AC_DEFINE(HAVE_ASM_SSE,,[Compiling in SSE support])
|
||||
AC_DEFINE(HAVE_SSE,,[Compiling in SSE support])
|
||||
have_asm_sse=true
|
||||
fi
|
||||
|
||||
|
||||
dnl check for sse2
|
||||
AC_CACHE_CHECK(for SSE2 on processor(s), ac_cv_flag_sse2, [
|
||||
if grep "^flags.* sse2" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_sse2=yes
|
||||
else
|
||||
ac_cv_flag_sse2=no
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_sse2 = yes; then
|
||||
AC_DEFINE(HAVE_ASM_SSE2,,[Compiling in SSE2 support])
|
||||
AC_DEFINE(HAVE_SSE2,,[Compiling in SSE2 support])
|
||||
have_asm_sse2=true
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for 3DNOW on processor(s), ac_cv_flag_3dnow, [
|
||||
if grep "^flags.* 3dnow" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_3dnow=yes
|
||||
else
|
||||
ac_cv_flag_3dnow=no
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_3dnow = yes; then
|
||||
AC_DEFINE(HAVE_ASM_3DNOW,,[Compiling in 3Dnow])
|
||||
have_asm_3dnow=true
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for CMOV on processor(s), ac_cv_flag_cmov, [
|
||||
if grep "^flags.* cmov" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_cmov=yes
|
||||
else
|
||||
ac_cv_flag_cmov=yes
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_cmov = yes; then
|
||||
AC_DEFINE(HAVE_CMOV,,[Compiling in CMOV])
|
||||
have_cmov=true
|
||||
fi
|
||||
|
||||
|
||||
dnl check for MMX2
|
||||
AC_CACHE_CHECK(for MMX2 on processor(s), ac_cv_flag_mmx2, [
|
||||
if grep "^flags.* mmxext" /proc/cpuinfo > /dev/null; then
|
||||
ac_cv_flag_mmx2=yes
|
||||
else
|
||||
ac_cv_flag_mmx2=yes
|
||||
fi
|
||||
])
|
||||
|
||||
if test $ac_cv_flag_mmx2 = yes; then
|
||||
AC_DEFINE(HAVE_ASM_MMX2,,[Compiling in MMX2])
|
||||
AC_DEFINE(HAVE_MMX2,,[Compiling in MMX2])
|
||||
AC_DEFINE(HAVE_ASM_MMXEXT,,[Compiling in MMXEXT])
|
||||
have_asm_mmx2=true
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if test x$have_ppccpu = xtrue
|
||||
then
|
||||
AC_MSG_CHECKING([compiler support for AltiVec])
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef HAVE_ALTIVEC_H
|
||||
#include <altivec.h>
|
||||
#endif
|
||||
int main() {
|
||||
union { vector signed int v;
|
||||
signed int i;
|
||||
} vi;
|
||||
vi.v = vec_splat_s32(1);
|
||||
return vi.i;
|
||||
}
|
||||
EOF
|
||||
ALTIVEC_CFLAGS=""
|
||||
if $CC -o conftest conftest.c >/dev/null 2>&1; then
|
||||
have_altivec=true
|
||||
elif $CC $CFLAGS -faltivec -o conftest conftest.c >/dev/null 2>&1; then
|
||||
# Mac OS X style
|
||||
have_altivec=true
|
||||
ALTIVEC_CFLAGS="-faltivec"
|
||||
elif $CC $CFLAGS -fvec -o conftest conftest.c >/dev/null 2>&1; then
|
||||
# Motorola style
|
||||
have_altivec=true
|
||||
ALTIVEC_CFLAGS="-fvec"
|
||||
elif $CC $CFLAGS -DHAVE_ALTIVEC_H=1 -maltivec -mabi=altivec -o conftest conftest.c >/dev/null 2>&1; then
|
||||
# gcc 3.1 style
|
||||
have_altivec=true
|
||||
ALTIVEC_CFLAGS="-DHAVE_ALTIVEC_H=1 -maltivec -mabi=altivec"
|
||||
fi
|
||||
rm -f conftest*;
|
||||
|
||||
if test x$have_altivec = xtrue
|
||||
then
|
||||
# add -O3 flag
|
||||
ALTIVEC_CFLAGS="-O3 ${ALTIVEC_CFLAGS}"
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_ALTIVEC,,
|
||||
[Inline PPC Altivec primitives available])
|
||||
AC_SUBST(ALTIVEC_CFLAGS)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
if test ! -r $srcdir/cpuinfo.sh; then
|
||||
AC_MSG_ERROR([cpuinfo.sh script not found - do a cvs update])
|
||||
fi
|
||||
|
||||
|
||||
if test x$have_x86cpu = xtrue -o x$have_ppccpu = xtrue; then
|
||||
if test x$host_alias != x; then
|
||||
dnl Cross compiling
|
||||
AC_MSG_CHECKING(sub-architecture settings)
|
||||
if test x$have_x86cpu = xtrue; then
|
||||
host_mod_cpu=`echo $host_cpu|tr _ -`
|
||||
ARCHFLAGS="-march=$host_mod_cpu -mcpu=$host_mod_cpu"
|
||||
AC_MSG_RESULT($ARCHFLAGS)
|
||||
fi
|
||||
else
|
||||
AC_MSG_CHECKING(sub-architecture settings)
|
||||
chmod +x $srcdir/cpuinfo.sh
|
||||
|
||||
if test x$have_x86cpu = xtrue; then
|
||||
ARCHFLAGS=`$srcdir/cpuinfo.sh x86`
|
||||
fi
|
||||
if test x$have_ppccpu = xtrue; then
|
||||
ARCHFLAGS=`$srcdir/cpuinfo.sh ppc`
|
||||
fi
|
||||
AC_MSG_RESULT($ARCHFLAGS)
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test x$have_x86cpu = xtrue;
|
||||
then
|
||||
AC_MSG_NOTICE([enable_debug = $enable_debug])
|
||||
if test "x$enable_debug" != "xyes" ;
|
||||
then
|
||||
AC_MSG_NOTICE([debug koekje])
|
||||
if test $ac_cv_flag_sse = yes; then
|
||||
CFLAGS="$CFLAGS -msse -mfpmath=sse"
|
||||
AC_MSG_NOTICE([cflags aangepast])
|
||||
fi
|
||||
if test $av_cv_flag_sse2 = yes; then
|
||||
CFLAGS="$CFLAGS -msse2 -mfpmath=sse"
|
||||
AC_MSG_NOTICE([cflags aangepast])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT($CFLAGS)
|
||||
|
||||
|
||||
AC_DEFINE_UNQUOTED(HAVE_FFMPEG_UNINSTALLED,,
|
||||
[Defined if building against uninstalled FFmpeg source])
|
||||
|
||||
PKG_CHECK_MODULES(LIBAVUTIL, [libavutil >= 49.7.0],have_avutil=true,have_avutil=false)
|
||||
PKG_CHECK_MODULES(LIBAVCODEC,[libavcodec >= 51.57.2],have_avcodec=true,have_avcodec=false)
|
||||
PKG_CHECK_MODULES(LIBAVFORMAT,[libavformat >= 52.14.0],have_avformat=true,have_avformat=false)
|
||||
PKG_CHECK_MODULES(LIBSWSCALE,[libswscale >= 0.7.1],have_swscale=true,have_swscale=false)
|
||||
if test x$have_swscale = xfalse;
|
||||
then
|
||||
AC_MSG_ERROR([libswscale not found.])
|
||||
fi
|
||||
if test x$have_avutil = xfalse;
|
||||
then
|
||||
AC_MSG_ERROR([libavutil not found.])
|
||||
fi
|
||||
if test x$have_avformat = xfalse;
|
||||
then
|
||||
AC_MSG_ERROR([libavformat not found.])
|
||||
fi
|
||||
if test x$have_avcodec = xfalse;
|
||||
then
|
||||
AC_MSG_ERROR([libavcodec not found.])
|
||||
fi
|
||||
|
||||
FFMPEG_CFLAGS="${LIBAVFORMAT_CFLAGS} ${LIBAVCODEC_CFLAGS} ${LIBAVUTIL_CFLAGS} ${LIBSWSCALE_CFLAGS}"
|
||||
FFMPEG_LIBS="${LIBAVFORMAT_LIBS} ${LIBAVCODEC_LIBS} ${LIBAVUTIL_LIBS} ${LIBSWSCALE_LIBS}"
|
||||
AC_SUBST(FFMPEG_CFLAGS)
|
||||
AC_SUBST(FFMPEG_LIBS)
|
||||
|
||||
|
||||
dnl **********************************************************************
|
||||
dnl All the conditional stuff for the Makefiles
|
||||
AM_CONDITIONAL(HAVE_ASM_MMX, test x$have_asm_mmx = xtrue)
|
||||
AM_CONDITIONAL(HAVE_X86CPU, test x$have_x86cpu = xtrue)
|
||||
AM_CONDITIONAL(HAVE_PPCCPU, test x$have_ppccpu = xtrue)
|
||||
AM_CONDITIONAL(ARCH_PPC, test x$have_ppccpu = xtrue)
|
||||
AM_CONDITIONAL(ARCH_X86, test x$have_x86cpu = xtrue)
|
||||
AM_CONDITIONAL(HAVE_ALTIVEC, test x$have_altivec = xtrue)
|
||||
AM_CONDITIONAL(HAVE_ASM_MMX2, test x$have_asm_mmx2 = xtrue)
|
||||
AM_CONDITIONAL(HAVE_ASM_SSE, test x$have_asm_sse = xtrue)
|
||||
AM_CONDITIONAL(HAVE_ASM_SSE2, test x$have_asm_sse2 = xtrue)
|
||||
AM_CONDITIONAL(HAVE_ASM_NASM, test x$have_asm_nasm = xtrue)
|
||||
AM_CONDITIONAL(HAVE_MMX, test x$have_asm_mmx = xtrue)
|
||||
AM_CONDITIONAL(HAVE_SSE, test x$have_asm_sse = xtrue)
|
||||
AM_CONDITIONAL(HAVE_SSE2, test x$have_asm_sse2 = xtrue)
|
||||
AM_CONDITIONAL(HAVE_MMX2, test x$have_asm_mmx2 = xtrue)
|
||||
AM_CONDITIONAL(HAVE_DL_DLOPEN, test x$have_dl_dlopen = xtrue)
|
||||
dnl *********************************************************************
|
||||
dnl Check for what warnings we want gcc to use and adjust the CFLAGS
|
||||
dnl as needed. This only works for GCC.
|
||||
dnl We do this last as it can screw up library detection etc...
|
||||
|
||||
CFLAGS="$ARCHFLAGS $CFLAGS"
|
||||
CXXFLAGS="$ARCHFLAGS $CXXFLAGS"
|
||||
|
||||
|
||||
if test "x${GCC}" != "xyes" ; then
|
||||
enable_compile_warnings=no
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
|
||||
warnCFLAGS=
|
||||
warnCXXFLAGS=
|
||||
if test "x$enable_compile_warnings" != "xno" ; then
|
||||
if test "x$GCC" = "xyes" ; then
|
||||
case "$CFLAGS" in
|
||||
*-Wall*) ;;
|
||||
*) warnCFLAGS="-Wall -Wunused " ;;
|
||||
esac
|
||||
if test "x$enable_compile_warnings" = "xyes" ; then
|
||||
warnCFLAGS="$warnCFLAGS -Wmissing-prototypes -Wundef -Wshadow -Wbad-function-cast -Wconversion -Wpadded -Wunreachable-code -Wmissing-declarations -Wpointer-arith -Wcast-align -Wwrite-strings -Wcast-qual"
|
||||
warnCXXFLAGS="$warnCXXFLAGS -Wmissing-prototypes -Wpointer-arith -Wcast-align -Wwrite-strings -Wcast-qual"
|
||||
fi
|
||||
if test "x$enable_warnings_as_errors" = "xyes" ; then
|
||||
warnCFLAGS="$warnCFLAGS -Werror"
|
||||
warnCXXFLAGS="$warnCXXFLAGS -Werror"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$cflags_set" != "xyes" ; then
|
||||
if test "x$enable_debug" = "xyes" ; then
|
||||
CFLAGS="$debugCFLAGS $warnCFLAGS $CFLAGS"
|
||||
else
|
||||
CFLAGS="$CFLAGS $warnCFLAGS"
|
||||
fi
|
||||
CXXFLAGS="$CXXFLAGS $warnCXXFLAGS"
|
||||
cflags_set=yes
|
||||
fi
|
||||
|
||||
|
||||
if test x"$with_extra_cflags" != "x"; then
|
||||
CFLAGS="$CFLAGS $with_extra_cflags"
|
||||
CXXFLAGS="$CXXFLAGS $with_extra_cflags"
|
||||
fi
|
||||
|
||||
reloaded_datadir="${datadir}/reloaded"
|
||||
AC_SUBST(reloaded_datadir)
|
||||
sh gveejay-paths.sh > gveejay-paths.h
|
||||
|
||||
glib_modules="glib-2.0 >= 2.4"
|
||||
PKG_CHECK_MODULES(GLIB, [$glib_modules])
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
|
||||
gtk_modules="gtk+-2.0 >= 2.8"
|
||||
PKG_CHECK_MODULES(GTK, [$gtk_modules])
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
|
||||
libglade_modules="libglade-2.0 >= 2.0.1"
|
||||
PKG_CHECK_MODULES(GLADE, [$libglade_modules])
|
||||
AC_SUBST(GLADE_CFLAGS)
|
||||
AC_SUBST(GLADE_LIBS)
|
||||
|
||||
|
||||
dnl **********************************************************************
|
||||
dnl Output a Makefile or two and the lib/header descriptor script
|
||||
dnl
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
src/Makefile
|
||||
gveejay-paths.sh
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
AC_DEFINE(VERSION, ${VERSION})
|
||||
|
||||
AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([ GVeejayReloaded ${VERSION} build configuration :])
|
||||
AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([ Compiler flags: $CFLAGS])
|
||||
AC_MSG_NOTICE([ $YUVCFLAGS])
|
||||
AC_MSG_NOTICE([ $OP_CFLAGS])
|
||||
AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([ Architecture: ${host_cpu} ])
|
||||
AC_MSG_NOTICE([])
|
||||
if test "$have_x86cpu" = "true" ; then
|
||||
AC_MSG_NOTICE([ x86 ])
|
||||
AC_MSG_NOTICE([ MMX enabled : ${ac_cv_flag_mmx}])
|
||||
AC_MSG_NOTICE([ MMX2 enabled : ${ac_cv_flag_mmx2}])
|
||||
AC_MSG_NOTICE([ SSE enabled : ${ac_cv_flag_sse}])
|
||||
AC_MSG_NOTICE([ SSE2 enabled : ${ac_cv_flag_sse2}])
|
||||
AC_MSG_NOTICE([ 3DNOW enabled : ${ac_cv_flag_3dnow}])
|
||||
AC_MSG_NOTICE([ CMOV enabled : ${ac_cv_flag_cmov}])
|
||||
fi
|
||||
|
||||
if test "$have_ppccpu" = "true" ; then
|
||||
AC_MSG_NOTICE([ ppc])
|
||||
AC_MSG_NOTICE([ AltiVec enabled : ${have_altivec}])
|
||||
fi
|
||||
|
||||
if test "$have_mips" = "true" ; then
|
||||
AC_MSG_NOTICE([ mips])
|
||||
AC_MSG_NOTICE([ PS/2 enabled : ${have_ps2}])
|
||||
fi
|
||||
AC_MSG_NOTICE([])
|
||||
if test "$have_linux" = "true" ; then
|
||||
AC_MSG_NOTICE([ Platform: Linux])
|
||||
fi
|
||||
|
||||
if test "$have_darwin" = "true" ; then
|
||||
AC_MSG_NOTICE([ Platform: Darwin])
|
||||
AC_MSG_NOTICE([ Good luck! You can be the first! ])
|
||||
fi
|
||||
AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([ Required dependencies:])
|
||||
AC_MSG_NOTICE([ - Veejay 1.5.2 : ${have_veejay}])
|
||||
AC_MSG_NOTICE([ - POSIX Threads (pthread) : ${have_pthread}])
|
||||
AC_MSG_NOTICE([ - FFmpeg AVCodec : ${have_avcodec} ])
|
||||
AC_MSG_NOTICE([ - FFmpeg Swscaler : ${have_swscale} ])
|
||||
AC_MSG_NOTICE([ - GDK Pixbuf support : ${have_pixbuf}])
|
||||
AC_MSG_NOTICE([ - Alsa support (midi sequencer) : ${have_alsa}])
|
||||
336
branches/V-1.5.3/veejay-client/cpuinfo.sh
Executable file
@@ -0,0 +1,336 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test x"$CC" = x; then
|
||||
CC=gcc
|
||||
fi
|
||||
|
||||
if test $# -ne 1; then
|
||||
echo "Please give the arch (ppc or x86) as an argument!" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test `uname -s` = Darwin; then
|
||||
IsDarwin=yes
|
||||
else
|
||||
IsDarwin=no
|
||||
fi
|
||||
|
||||
target=$1
|
||||
|
||||
cc_version=`$CC -dumpversion`
|
||||
_cc_major=`echo $cc_version | cut -d'.' -f1`
|
||||
_cc_minor=`echo $cc_version | cut -d'.' -f2`
|
||||
|
||||
if test $_cc_major -ge 4; then
|
||||
_opt_mcpu="-mtune"
|
||||
else
|
||||
_opt_mcpu="-mcpu"
|
||||
fi
|
||||
|
||||
do_cc()
|
||||
{
|
||||
$CC -o conftest conftest.c $@ >/dev/null 2>&1
|
||||
}
|
||||
|
||||
extcheck()
|
||||
{
|
||||
cat > conftest.c <<EOF
|
||||
#include <signal.h>
|
||||
void catch() { exit(1); }
|
||||
int main(void){
|
||||
signal(SIGILL, catch);
|
||||
__asm__ __volatile__ ("$1":::"memory");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
|
||||
do_cc
|
||||
if test -x ./conftest; then
|
||||
./conftest
|
||||
if test $? -ne 0; then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
do_x86()
|
||||
{
|
||||
|
||||
CFLAGS=-O
|
||||
if test $IsDarwin = yes; then
|
||||
CFLAGS="$CFLAGS -fno-pic -Wl,-read_only_relocs -Wl,suppress"
|
||||
fi
|
||||
|
||||
if test -r /proc/cpuinfo; then
|
||||
_cpuinfo="cat /proc/cpuinfo"
|
||||
else
|
||||
$CC $CFLAGS -o cpuinfo utils/cpuinfo.c
|
||||
_cpuinfo="./cpuinfo"
|
||||
fi
|
||||
|
||||
# Cpu determination logic adapted from the MPlayer configure script.
|
||||
|
||||
pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1`
|
||||
pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d':' -f2 | cut -d' ' -f2 | head -n 1`
|
||||
pfamily=`$_cpuinfo | grep 'cpu family' | cut -d':' -f2 | cut -d' ' -f2 | head -n 1`
|
||||
pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d':' -f2 | cut -d' ' -f2 | head -n 1`
|
||||
pstep=`$_cpuinfo | grep 'stepping' | cut -d':' -f2 | cut -d' ' -f2 | head -n 1`
|
||||
pparam=`$_cpuinfo | grep 'features' | cut -d':' -f2 | head -n 1`
|
||||
|
||||
if test -z "$pparam" ; then
|
||||
pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -n 1`
|
||||
fi
|
||||
|
||||
_mmx=no
|
||||
_3dnow=no
|
||||
_3dnowex=no
|
||||
_mmx2=no
|
||||
_sse=no
|
||||
_sse2=no
|
||||
_mtrr=no
|
||||
|
||||
for i in $pparam ; do
|
||||
case "$i" in
|
||||
3dnow) _3dnow=yes ;;
|
||||
3dnowext) _3dnow=yes _3dnowex=yes ;;
|
||||
mmx) _mmx=yes ;;
|
||||
mmxext) _mmx2=yes ;;
|
||||
mtrr|k6_mtrr|cyrix_arr) _mtrr=yes ;;
|
||||
xmm|sse|kni) _sse=yes _mmx2=yes ;;
|
||||
sse2) _sse2=yes ;;
|
||||
esac
|
||||
done
|
||||
|
||||
case "$pvendor" in
|
||||
AuthenticAMD)
|
||||
case "$pfamily" in
|
||||
3)proc=i386
|
||||
;;
|
||||
4) proc=i486
|
||||
;;
|
||||
5) iproc=586
|
||||
# models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
|
||||
# K6 model 13 are the K6-2+ and K6-III+
|
||||
if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
|
||||
proc=k6-3
|
||||
elif test "$pmodel" -ge 8; then
|
||||
proc=k6-2
|
||||
elif test "$pmodel" -ge 6; then
|
||||
proc=k6
|
||||
else
|
||||
proc=i586
|
||||
fi
|
||||
;;
|
||||
6) iproc=686
|
||||
if test "$pmodel" -ge 7; then
|
||||
proc=athlon-4
|
||||
elif test "$pmodel" -ge 6; then
|
||||
if test "$_sse" = yes && test "$pstep" -ge 2; then
|
||||
proc=athlon-xp
|
||||
else
|
||||
proc=athlon-4
|
||||
fi
|
||||
elif test "$pmodel" -ge 4; then
|
||||
proc=athlon-tbird
|
||||
else
|
||||
proc=athlon
|
||||
fi
|
||||
;;
|
||||
15)
|
||||
# Despite what the gcc into says 'athlon64' is not accepted as
|
||||
# synonym for 'k8'
|
||||
proc=k8
|
||||
;;
|
||||
*) proc=athlon-xp
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
GenuineIntel)
|
||||
case "$pfamily" in
|
||||
3) proc=i386
|
||||
;;
|
||||
4) proc=i486
|
||||
;;
|
||||
5) iproc=586
|
||||
if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
|
||||
proc=pentium-mmx # 4 is desktop, 8 is mobile
|
||||
else
|
||||
proc=i586
|
||||
fi
|
||||
;;
|
||||
6) iproc=686
|
||||
if test "$pmodel" -ge 15; then
|
||||
proc=nocona
|
||||
elif test "$pmodel" -ge 13; then
|
||||
proc=pentium-m
|
||||
elif test "$pmodel" -ge 7; then
|
||||
proc=pentium3
|
||||
elif test "$pmodel" -ge 3; then
|
||||
proc=pentium2
|
||||
else
|
||||
proc=i686
|
||||
fi
|
||||
;;
|
||||
15) proc=pentium4
|
||||
;;
|
||||
*) proc=pentium4
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
unknown)
|
||||
case "$pfamily" in
|
||||
3) proc=i386
|
||||
;;
|
||||
4) proc=i486
|
||||
;;
|
||||
*) proc=i586
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
proc=i586
|
||||
;;
|
||||
esac
|
||||
|
||||
# check that gcc supports our CPU, if not, fall back to earlier ones
|
||||
|
||||
cat > conftest.c << EOF
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
if test "$proc" = "athlon64" ; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=athlon-xp
|
||||
fi
|
||||
|
||||
if test "$proc" = "athlon-xp" || test "$proc" = "athlon-4" || test "$proc" = "athlon-tbird"; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=athlon
|
||||
fi
|
||||
|
||||
if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=k6
|
||||
fi
|
||||
|
||||
if test "$proc" = "k6"; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc
|
||||
if test $? -ne 0; then
|
||||
if do_cc -march=i586 $_opt_mcpu=i686; then
|
||||
proc=i586-i686
|
||||
else
|
||||
proc=i586
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$proc" = "pentium4" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon"; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=i686
|
||||
fi
|
||||
if test "$proc" = "i686" || test "$proc" = "pentium-mmx"; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=i586
|
||||
fi
|
||||
if test "$proc" = "i586" ; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=i486
|
||||
fi
|
||||
if test "$proc" = "i486" ; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=i386
|
||||
fi
|
||||
if test "$proc" = "i386" ; then
|
||||
do_cc -march=$proc $_opt_mcpu=$proc || proc=error
|
||||
fi
|
||||
if test "$proc" = "error" ; then
|
||||
echo "Your $_cc does not even support \"i386\" for '-march' and $_opt_mcpu."
|
||||
_mcpu=""
|
||||
_march=""
|
||||
elif test "$proc" = "i586-i686"; then
|
||||
_march="-march=i586"
|
||||
_mcpu="$_opt_mcpu=i686"
|
||||
else
|
||||
_march="-march=$proc"
|
||||
_mcpu="$_opt_mcpu=$proc"
|
||||
fi
|
||||
|
||||
if test $_cc_major -ge 3; then
|
||||
extcheck "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
|
||||
extcheck "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
|
||||
|
||||
if test x"$_gcc3_ext" != "x"; then
|
||||
# if we had to disable sse/sse2 because the active kernel does not
|
||||
# support this instruction set extension, we also have to tell
|
||||
# gcc3 to not generate sse/sse2 instructions for normal C code
|
||||
cat > conftest.c << EOF
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
do_cc $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $_march $_mcpu
|
||||
rm -f conftest.c conftest cpuinfo
|
||||
return 0
|
||||
}
|
||||
|
||||
do_ppc()
|
||||
{
|
||||
# Linux on a PPC has /proc/info
|
||||
# Darwin (OS/X) has the hostinfo command
|
||||
# If neither of those we have no idea what to do - so do nothing.
|
||||
if test -r /proc/cpuinfo; then
|
||||
proc=`grep cpu /proc/cpuinfo | cut -d':' -f2 | cut -d',' -f1 | cut -b 2- | head -n 1`
|
||||
elif test $IsDarwin = yes; then
|
||||
proc=`hostinfo | grep "Processor type" | cut -f3 -d' ' | sed 's/ppc//'`
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
case "$proc" in
|
||||
601) _march="$_opt_mcpu=601" _mcpu='-mtune=601'
|
||||
;;
|
||||
603) _march="$_opt_mcpu=603" _mcpu='-mtune=603'
|
||||
;;
|
||||
603e|603ev) _march="$_opt_mcpu=603e" _mcpu='-mtune=603e'
|
||||
;;
|
||||
604|604e|604r|604ev) _march="$_opt_mcpu=604" _mcpu='-mtune=604'
|
||||
;;
|
||||
740|740/750|745/755) _march="$_opt_mcpu=740" _mcpu='-mtune=740'
|
||||
;;
|
||||
750|750CX) _march="$_opt_mcpu=750" _mcpu='-mtune=750'
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# gcc 3.1(.1) and up supports 7400 and 7450
|
||||
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
|
||||
case "$proc" in
|
||||
7400*|7410*) _march="$_opt_mcpu=7400" _mcpu='-mtune=7400' ;;
|
||||
7450*|7455*) _march="$_opt_mcpu=7450" _mcpu='-mtune=7450' ;;
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# gcc 3.2 and up supports 970
|
||||
if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
|
||||
case "$proc" in
|
||||
970*) if test $IsDarwin = yes; then
|
||||
_march="$_opt_mcpu=G5 -mpowerpc64 -mpowerpc-gpopt -falign-loops=16 -force_cpusubtype_ALL" _mcpu='-mtune=G5'
|
||||
else
|
||||
_march="$_opt_mcpu=970" _mcpu='-mtune=970'
|
||||
fi
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo $_march $_mcpu
|
||||
return 0
|
||||
}
|
||||
|
||||
#
|
||||
# The script that runs the various functions above
|
||||
#
|
||||
|
||||
if test $target = x86; then
|
||||
do_x86
|
||||
elif test $target = ppc; then
|
||||
do_ppc
|
||||
fi
|
||||
6
branches/V-1.5.3/veejay-client/debian/README.Debian
Normal file
@@ -0,0 +1,6 @@
|
||||
reloaded for Debian
|
||||
-------------------
|
||||
|
||||
<possible notes regarding this package - if none, delete this file>
|
||||
|
||||
-- root <nwelburg@gmail.com> Tue, 11 Nov 2008 18:31:53 +0100
|
||||
10
branches/V-1.5.3/veejay-client/debian/changelog
Normal file
@@ -0,0 +1,10 @@
|
||||
reloaded (1.5.2) unstable; urgency=low
|
||||
|
||||
* 1.5.2 release
|
||||
|
||||
* 1.4-3 release
|
||||
|
||||
* Initial official release
|
||||
|
||||
-- Niels Elburg <nwelburg@gmail.com> Sat, 19 Dec 2009 19:38:26 +0100
|
||||
|
||||
1
branches/V-1.5.3/veejay-client/debian/compat
Normal file
@@ -0,0 +1 @@
|
||||
5
|
||||
12
branches/V-1.5.3/veejay-client/debian/control
Normal file
@@ -0,0 +1,12 @@
|
||||
Source: reloaded
|
||||
Section: video
|
||||
Priority: extra
|
||||
Maintainer: Niels Elburg <nwelburg@gmail.com>
|
||||
Build-Depends: debhelper (>= 5), autotools-dev,libgtk2.0-dev,libavformat-dev,libavcodec-dev,libglib2.0-dev,libmjpegtools-dev,libavutil-dev,libmjpegtools-dev,libpthread-stubs0-dev,libglade2-dev
|
||||
Standards-Version: 3.7.2
|
||||
|
||||
Package: reloaded
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: The is the graphical interface to Veejay - a 'visual' instrument and realtime video sampler
|
||||
|
||||
21
branches/V-1.5.3/veejay-client/debian/copyright
Normal file
@@ -0,0 +1,21 @@
|
||||
This package was debianized by niels <nwelburg@gmail.com> on
|
||||
Sun, Dec 20 2009 15:35:35 +0100.
|
||||
|
||||
It was downloaded from http://www.veejayhq.net
|
||||
|
||||
Upstream Author(s):
|
||||
|
||||
Niels Elburg <nwelburg@gmail.com>
|
||||
Matthijs v. Henten <cola@looze.net>
|
||||
|
||||
Copyright:
|
||||
|
||||
<Copyright (C) 2002-2009 Niels Elburg>
|
||||
<Copyright (C) 2002-2009 Matthijs v. Henten>
|
||||
|
||||
License:
|
||||
|
||||
You are free to distribute this software under the terms of
|
||||
the GNU General Public License.
|
||||
On Debian systems, the complete text of the GNU General Public
|
||||
License can be found in the file `/usr/share/common-licenses/GPL'
|
||||
2
branches/V-1.5.3/veejay-client/debian/dirs
Normal file
@@ -0,0 +1,2 @@
|
||||
usr/bin
|
||||
usr/sbin
|
||||
2
branches/V-1.5.3/veejay-client/debian/docs
Normal file
@@ -0,0 +1,2 @@
|
||||
NEWS
|
||||
README
|
||||
1
branches/V-1.5.3/veejay-client/debian/files
Normal file
@@ -0,0 +1 @@
|
||||
reloaded_1.4-6_i386.deb video extra
|
||||
2
branches/V-1.5.3/veejay-client/debian/menu.ex
Normal file
@@ -0,0 +1,2 @@
|
||||
?package(reloaded):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
|
||||
title="reloaded" command="/usr/bin/reloaded"
|
||||
41
branches/V-1.5.3/veejay-client/debian/postinst.ex
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
# postinst script for reloaded
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
39
branches/V-1.5.3/veejay-client/debian/postrm.ex
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
# postrm script for reloaded
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
37
branches/V-1.5.3/veejay-client/debian/preinst.ex
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
# preinst script for reloaded
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <new-preinst> `install'
|
||||
# * <new-preinst> `install' <old-version>
|
||||
# * <new-preinst> `upgrade' <old-version>
|
||||
# * <old-preinst> `abort-upgrade' <new-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
40
branches/V-1.5.3/veejay-client/debian/prerm.ex
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
# prerm script for reloaded
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <prerm> `remove'
|
||||
# * <old-prerm> `upgrade' <new-version>
|
||||
# * <new-prerm> `failed-upgrade' <old-version>
|
||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||
# <package-being-installed> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
10
branches/V-1.5.3/veejay-client/debian/reloaded-default.ex
Normal file
@@ -0,0 +1,10 @@
|
||||
# Defaults for reloaded initscript
|
||||
# sourced by /etc/init.d/reloaded
|
||||
# installed at /etc/default/reloaded by the maintainer scripts
|
||||
|
||||
#
|
||||
# This is a POSIX shell fragment
|
||||
#
|
||||
|
||||
# Additional options that are passed to the Daemon.
|
||||
DAEMON_OPTS=""
|
||||
22
branches/V-1.5.3/veejay-client/debian/reloaded.doc-base.EX
Normal file
@@ -0,0 +1,22 @@
|
||||
Document: reloaded
|
||||
Title: Debian reloaded Manual
|
||||
Author: <insert document author here>
|
||||
Abstract: This manual describes what reloaded is
|
||||
and how it can be used to
|
||||
manage online manuals on Debian systems.
|
||||
Section: unknown
|
||||
|
||||
Format: debiandoc-sgml
|
||||
Files: /usr/share/doc/reloaded/reloaded.sgml.gz
|
||||
|
||||
Format: postscript
|
||||
Files: /usr/share/doc/reloaded/reloaded.ps.gz
|
||||
|
||||
Format: text
|
||||
Files: /usr/share/doc/reloaded/reloaded.text.gz
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/reloaded/html/index.html
|
||||
Files: /usr/share/doc/reloaded/html/*.html
|
||||
|
||||
|
||||
1
branches/V-1.5.3/veejay-client/debian/reloaded.substvars
Normal file
@@ -0,0 +1 @@
|
||||
shlibs:Depends=libogg0 , libasound2 (>> 1.0.14), libvorbis0a (>= 1.2.0), libraw1394-8, libc6 (>= 2.4), libswscale1d (>= 0.cvs20070307), libcairo2 (>= 1.6.0), libvorbisenc2 (>= 1.1.2), veejay, libxml2 , libatk1.0-0 (>= 1.20.0), libgtk2.0-0 (>= 2.12.0), libmjpegtools0c2a (>= 1:1.8.0), libpango1.0-0 (>= 1.20.1), libavcodec1d (>= 0.cvs20070307), libglade2-0 (>= 1:2.6.1), libavutil1d (>= 0.cvs20070307), libx11-6, libtheora0, libglib2.0-0 (>= 2.16.0)
|
||||
116
branches/V-1.5.3/veejay-client/debian/rules
Executable file
@@ -0,0 +1,116 @@
|
||||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# This file was originally written by Joey Hess and Craig Small.
|
||||
# As a special exception, when this file is copied by dh-make into a
|
||||
# dh-make output file, you may use that output file without restriction.
|
||||
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
|
||||
# These are used for cross-compiling and for saving the configure script
|
||||
# from having to guess our platform (since we know it already)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
|
||||
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
|
||||
else
|
||||
CROSS= --build $(DEB_BUILD_GNU_TYPE)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
# shared library versions, option 1
|
||||
version=2.0.5
|
||||
major=2
|
||||
# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
|
||||
#version=`ls src/.libs/lib*.so.* | \
|
||||
# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
|
||||
#major=`ls src/.libs/lib*.so.* | \
|
||||
# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
|
||||
|
||||
config.status: configure
|
||||
dh_testdir
|
||||
# Add here commands to configure the package.
|
||||
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
||||
cp -f /usr/share/misc/config.sub config.sub
|
||||
endif
|
||||
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
||||
cp -f /usr/share/misc/config.guess config.guess
|
||||
endif
|
||||
PKG_CONFIG_PATH=/usr/lib/pkgconfig ./configure $(CROSS) --enable-debug --prefix=/usr --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
|
||||
|
||||
|
||||
build: build-stamp
|
||||
build-stamp: config.status
|
||||
dh_testdir
|
||||
|
||||
# Add here commands to compile the package.
|
||||
$(MAKE)
|
||||
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp
|
||||
|
||||
# Add here commands to clean up after the build process.
|
||||
[ ! -f Makefile ] || $(MAKE) distclean
|
||||
rm -f config.sub config.guess
|
||||
|
||||
dh_clean
|
||||
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
|
||||
# Add here commands to install the package into debian/tmp
|
||||
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
|
||||
|
||||
dh_install -i
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
mkdir -p $(CURDIR)/debian/tmp/usr/share/reloaded
|
||||
cp -va $(CURDIR)/share $(CURDIR)/debian/tmp/usr/share/reloaded
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installchangelogs ChangeLog
|
||||
dh_installdocs
|
||||
dh_installexamples
|
||||
dh_install
|
||||
# dh_installmenu
|
||||
# dh_installdebconf
|
||||
# dh_installlogrotate
|
||||
# dh_installemacsen
|
||||
# dh_installpam
|
||||
# dh_installmime
|
||||
# dh_installinit
|
||||
# dh_installcron
|
||||
# dh_installinfo
|
||||
dh_installman
|
||||
dh_link
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
# dh_perl
|
||||
# dh_python
|
||||
dh_makeshlibs
|
||||
dh_installdeb
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install
|
||||
22
branches/V-1.5.3/veejay-client/gveejay-paths.sh.in
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
prefix="@prefix@"
|
||||
datadir="@datadir@"
|
||||
|
||||
DATADIRNAME="@DATADIRNAME@"
|
||||
|
||||
reloaded_datadir="@reloaded_datadir@"
|
||||
|
||||
cat << EOF
|
||||
/*
|
||||
This file has been automatically generated. Do not edit
|
||||
|
||||
*/
|
||||
#ifndef GVEEJAY_PATHS_H
|
||||
#define GVEEJAY_PATHS_H
|
||||
|
||||
#define RELOADED_DATADIR "$reloaded_datadir"
|
||||
|
||||
#endif /* GVEEJAY_PATHS_H */
|
||||
EOF
|
||||
|
||||
114
branches/V-1.5.3/veejay-client/gveejay.spec.in
Normal file
@@ -0,0 +1,114 @@
|
||||
# norootforbuild
|
||||
# neededforbuild update-desktop-files gtk2-devel-packages glib2 gtk2 libglade3 gtk2-devel glib2-devel libglade-devel libxml2-devel pkgconfig
|
||||
|
||||
%define name reloaded
|
||||
%define version 1.5.2
|
||||
%define release reloaded
|
||||
%define prefix /usr
|
||||
|
||||
%define builddir $RPM_BUILD_DIR/%{name}-%{version}
|
||||
|
||||
Summary: Video Mixing/Editing Instrument
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
Prefix: %{prefix}
|
||||
Copyright: GNU GPL
|
||||
URL: http://veejayq.net
|
||||
Packager: nelburg <nwelburg@gmail.com>
|
||||
Group: Productivity/Multimedia/Video/Editors and Convertors
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Prereq: /sbin/ldconfig
|
||||
#Requires: libxml2 >= 2.5.4
|
||||
#Requires: gtk2
|
||||
#Requires: glib2
|
||||
#Requires: libglade2
|
||||
#Requires: libxml2 >= 2.5.4
|
||||
#Requires: cairo
|
||||
#BuildRequires: pkgconfig
|
||||
#BuildRequires: gtk2-devel
|
||||
#BuildRequires: glib2-devel
|
||||
#BuildRequires: libglade2-devel
|
||||
|
||||
%description
|
||||
Veejay is a visual instrument and realtime video sampler.
|
||||
It allows you to 'play' the video like you would play a Piano and it allows
|
||||
you to record the resulting video directly to disk for immediate playback (video sampling).
|
||||
|
||||
GVeejayReloaded is the graphical interface for Veejay.
|
||||
|
||||
Author: Niels Elburg <nelburg@looze.net>
|
||||
|
||||
Requires: gtk2
|
||||
Requires: glib2
|
||||
Requires: libglade2
|
||||
Requires: libxml2 >= 2.5.4
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
|
||||
./autogen.sh
|
||||
%{?suse_update_config:%{suse_update_config -f}}
|
||||
|
||||
CFLAGS="$RPM_OPT_FLAGS" \
|
||||
CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||
./configure \
|
||||
--prefix=%{prefix} \
|
||||
--mandir=%{_mandir}
|
||||
|
||||
%build
|
||||
# Setup for parallel builds
|
||||
numprocs=`egrep -c ^cpu[0-9]+ /proc/stat || :`
|
||||
if [ "$numprocs" = "0" ]; then
|
||||
numprocs=1
|
||||
fi
|
||||
make -j$numprocs
|
||||
|
||||
%install
|
||||
[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf %{buildroot}
|
||||
|
||||
make install-strip \
|
||||
DESTDIR=%{buildroot}
|
||||
|
||||
# icon and menu-entry
|
||||
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
||||
install -m 644 share/%{name}-logo.png %{buildroot}%{_datadir}/pixmaps/gveejay.png
|
||||
cat > gveejay.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Comment=Video Mixing/Editing Instrument
|
||||
Exec=reloaded
|
||||
GenericName=
|
||||
Icon=%{name}
|
||||
MimeType=
|
||||
Name=Reloaded
|
||||
Path=
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
EOF
|
||||
%suse_update_desktop_file -i reloaded AudioVideo Player
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%clean
|
||||
[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%doc AUTHORS BUGS COPYING ChangeLog INSTALL README*
|
||||
%doc doc
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/*.png
|
||||
# reloaded
|
||||
%{_bindir}/src
|
||||
%{_datadir}/%{name}/gveejay-reloaded-2.glade
|
||||
%{_datadir}/%{name}/gveejay.rc
|
||||
%{_datadir}/pixmaps/gveejay.png
|
||||
%{_datadir}/applications/gveejay.desktop
|
||||
|
||||
%changelog -n veejay
|
||||
Dec 20, 2009. Updated rpm spec for reloaded 1.5.2
|
||||
Mar 21, 2007. Initial rpm spec for gveejayreloaded
|
||||
10
branches/V-1.5.3/veejay-client/menu/gveejayreloaded.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=GVeejayReloaded
|
||||
Comment=Graphical Veejay Client
|
||||
Exec=gveejayreloaded
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
10
branches/V-1.5.3/veejay-client/menu/veejay1.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Veejay (720x576 with audio)
|
||||
Comment=Start new veejay project, 720x576 with default audio settings
|
||||
Exec=veejay -v -W720 -H576 -a1 -d
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
10
branches/V-1.5.3/veejay-client/menu/veejay2.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Veejay (720x576 without audio)
|
||||
Comment=Start new Veejay project, 720x576 without audio
|
||||
Exec=veejay -v -W720 -H576 -a0 -d
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
10
branches/V-1.5.3/veejay-client/menu/veejay3.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Veejay (640x480, /dev/video0)
|
||||
Comment=Start veejay server with capture device #0 in 640x480
|
||||
Exec=veejay -A1 -v -W640 -H480
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
10
branches/V-1.5.3/veejay-client/menu/veejay4.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Veejay (720x576, /dev/video0)
|
||||
Comment=Start veejay server from capture device #0 in 720x576
|
||||
Exec=veejay -A1 -v -W720 -H576
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
10
branches/V-1.5.3/veejay-client/menu/veejay5.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Version=1.0
|
||||
Name=Veejay (352x288, /dev/video0)
|
||||
Comment=Start veejay server with capture device #0 in 352x288
|
||||
Exec=veejay -A1 -v -W352 -H288
|
||||
Terminal=true
|
||||
Type=Application
|
||||
Icon=veejay-icon.png
|
||||
Categories=AudioVideoEditing;AudioVideo;
|
||||
BIN
branches/V-1.5.3/veejay-client/share/bg.png
Normal file
|
After Width: | Height: | Size: 181 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_black.png
Normal file
|
After Width: | Height: | Size: 112 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_blue.png
Normal file
|
After Width: | Height: | Size: 123 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_green.png
Normal file
|
After Width: | Height: | Size: 121 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_grey.png
Normal file
|
After Width: | Height: | Size: 123 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_red.png
Normal file
|
After Width: | Height: | Size: 121 B |
BIN
branches/V-1.5.3/veejay-client/share/bg_yellow.png
Normal file
|
After Width: | Height: | Size: 121 B |
118
branches/V-1.5.3/veejay-client/share/blackwhite.rc
Normal file
@@ -0,0 +1,118 @@
|
||||
# Edit these colors and fonts however you like.
|
||||
style "default"
|
||||
{
|
||||
engine "hcengine" {}
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
GtkWidget::shadow_type = GTK_SHADOW_ETCHED_OUT
|
||||
#GtkWidget::interior_focus = 0
|
||||
#GtkWidget::focus_padding = 0
|
||||
#GtkWidget::default_border = {0, 0, 0, 0}
|
||||
#GtkWidget::default_outside_border = {0, 0, 0, 0}
|
||||
GtkWidget::default_spacing = 0
|
||||
GtkScale::stepper_size = 8
|
||||
GtkRange::through-width = 4
|
||||
GtkRange::trough_border = 0
|
||||
GtkRange::slider-width = 16
|
||||
GtkScale::slider-length = 10
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#ffffff" # borders etc.
|
||||
fg[PRELIGHT] = "#000000"
|
||||
fg[ACTIVE] = "#ffffff" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#000000"
|
||||
fg[INSENSITIVE] = "#505050"
|
||||
|
||||
bg[NORMAL] = "#303030" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#202020" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#00ff00"
|
||||
bg[INSENSITIVE] = "#000000" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#c0c0c0"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#303060"# achtergrond van lists, status bars
|
||||
base[PRELIGHT] = "#00fff0"
|
||||
base[ACTIVE] = "#0000ff"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
style "text"
|
||||
{
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#ffffff" # borders etc.
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
fg[ACTIVE] = "#ffffff" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#ffffff"
|
||||
fg[INSENSITIVE] = "#ffffff"
|
||||
|
||||
bg[NORMAL] = "#27282F" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#454f60" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
|
||||
style "buttons"
|
||||
{
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#888888"
|
||||
fg[PRELIGHT] = "#888888"
|
||||
fg[ACTIVE] = "#888888"
|
||||
fg[SELECTED] = "#888888"
|
||||
fg[INSENSITIVE] = "#888888"
|
||||
|
||||
bg[NORMAL] = "#27282F"
|
||||
bg[PRELIGHT] = "#aaacc1"
|
||||
bg[ACTIVE] = "#454f60"
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f"
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
class "GtkButton" style "default"
|
||||
class "GtkSpinButton" style "default"
|
||||
class "GtkToggleButton" style "default"
|
||||
class "GtkCheckBox" style "default"
|
||||
|
||||
class "GtkLabel" style "default"
|
||||
|
||||
class "GtkWidget" style "default"
|
||||
BIN
branches/V-1.5.3/veejay-client/share/button_back.png
Normal file
|
After Width: | Height: | Size: 837 B |
BIN
branches/V-1.5.3/veejay-client/share/button_bounce.png
Normal file
|
After Width: | Height: | Size: 268 B |
BIN
branches/V-1.5.3/veejay-client/share/button_dec.png
Normal file
|
After Width: | Height: | Size: 218 B |
BIN
branches/V-1.5.3/veejay-client/share/button_down.png
Normal file
|
After Width: | Height: | Size: 232 B |
BIN
branches/V-1.5.3/veejay-client/share/button_fbw.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
branches/V-1.5.3/veejay-client/share/button_ffw.png
Normal file
|
After Width: | Height: | Size: 227 B |
BIN
branches/V-1.5.3/veejay-client/share/button_gotoend.png
Normal file
|
After Width: | Height: | Size: 210 B |
BIN
branches/V-1.5.3/veejay-client/share/button_gotostart.png
Normal file
|
After Width: | Height: | Size: 224 B |
BIN
branches/V-1.5.3/veejay-client/share/button_inc.png
Normal file
|
After Width: | Height: | Size: 223 B |
BIN
branches/V-1.5.3/veejay-client/share/button_loop.png
Normal file
|
After Width: | Height: | Size: 284 B |
BIN
branches/V-1.5.3/veejay-client/share/button_looponce.png
Normal file
|
After Width: | Height: | Size: 189 B |
BIN
branches/V-1.5.3/veejay-client/share/button_mini_decrement.png
Normal file
|
After Width: | Height: | Size: 190 B |
BIN
branches/V-1.5.3/veejay-client/share/button_mini_increment.png
Normal file
|
After Width: | Height: | Size: 194 B |
BIN
branches/V-1.5.3/veejay-client/share/button_next.png
Normal file
|
After Width: | Height: | Size: 841 B |
BIN
branches/V-1.5.3/veejay-client/share/button_pause.png
Normal file
|
After Width: | Height: | Size: 140 B |
BIN
branches/V-1.5.3/veejay-client/share/button_play.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
branches/V-1.5.3/veejay-client/share/button_playmode.png
Normal file
|
After Width: | Height: | Size: 577 B |
BIN
branches/V-1.5.3/veejay-client/share/button_prev.png
Normal file
|
After Width: | Height: | Size: 218 B |
BIN
branches/V-1.5.3/veejay-client/share/button_rand.png
Normal file
|
After Width: | Height: | Size: 928 B |
BIN
branches/V-1.5.3/veejay-client/share/button_reverse.png
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
branches/V-1.5.3/veejay-client/share/button_right.png
Normal file
|
After Width: | Height: | Size: 220 B |
BIN
branches/V-1.5.3/veejay-client/share/button_skip.png
Normal file
|
After Width: | Height: | Size: 221 B |
BIN
branches/V-1.5.3/veejay-client/share/button_skull.png
Normal file
|
After Width: | Height: | Size: 645 B |
BIN
branches/V-1.5.3/veejay-client/share/button_text.png
Normal file
|
After Width: | Height: | Size: 846 B |
BIN
branches/V-1.5.3/veejay-client/share/button_up.png
Normal file
|
After Width: | Height: | Size: 223 B |
BIN
branches/V-1.5.3/veejay-client/share/fx_entry_off.png
Normal file
|
After Width: | Height: | Size: 461 B |
BIN
branches/V-1.5.3/veejay-client/share/fx_entry_on.png
Normal file
|
After Width: | Height: | Size: 528 B |
21
branches/V-1.5.3/veejay-client/share/gveejay-default.rc
Normal file
@@ -0,0 +1,21 @@
|
||||
# Edit these colors and fonts however you like.
|
||||
style "default"
|
||||
{
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
GtkWidget::shadow_type = GTK_SHADOW_ETCHED_OUT
|
||||
#GtkWidget::interior_focus = 0
|
||||
#GtkWidget::focus_padding = 0
|
||||
#GtkWidget::default_border = {0, 0, 0, 0}
|
||||
#GtkWidget::default_outside_border = {0, 0, 0, 0}
|
||||
GtkWidget::default_spacing = 0
|
||||
GtkScale::stepper_size = 8
|
||||
GtkRange::through-width = 4
|
||||
GtkRange::trough_border = 0
|
||||
GtkRange::slider-width = 16
|
||||
GtkScale::slider-length = 10
|
||||
font_name = "Sans 8"
|
||||
}
|
||||
|
||||
|
||||
class "GtkWidget" style "default"
|
||||
9693
branches/V-1.5.3/veejay-client/share/gveejay.glade
Normal file
137
branches/V-1.5.3/veejay-client/share/gveejay.rc
Normal file
@@ -0,0 +1,137 @@
|
||||
# Edit these colors and fonts however you like.
|
||||
style "default"
|
||||
{
|
||||
# engine "hcengine" {}
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
GtkWidget::shadow_type = GTK_SHADOW_ETCHED_IN
|
||||
#GtkWidget::interior_focus = 0
|
||||
#GtkWidget::focus_padding = 0
|
||||
#GtkWidget::default_border = {0, 0, 0, 0}
|
||||
#GtkWidget::default_outside_border = {0, 0, 0, 0}
|
||||
GtkWidget::default_spacing = 0
|
||||
GtkScale::stepper_size = 8
|
||||
GtkRange::through-width = 4
|
||||
GtkRange::trough_border = 0
|
||||
GtkRange::slider-width = 16
|
||||
GtkScale::slider-length = 12
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#646464" # borders etc.
|
||||
fg[PRELIGHT] = "#646464"
|
||||
fg[ACTIVE] = "#646464" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#646464"
|
||||
fg[INSENSITIVE] = "#404040"
|
||||
|
||||
bg[NORMAL] = "#27282F" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#454f60" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
style "text"
|
||||
{
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#ffffff" # borders etc.
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
fg[ACTIVE] = "#ffffff" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#ffffff"
|
||||
fg[INSENSITIVE] = "#ffffff"
|
||||
|
||||
bg[NORMAL] = "#27282F" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#454f60" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
|
||||
style "buttons"
|
||||
{
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#888888"
|
||||
fg[PRELIGHT] = "#888888"
|
||||
fg[ACTIVE] = "#888888"
|
||||
fg[SELECTED] = "#888888"
|
||||
fg[INSENSITIVE] = "#888888"
|
||||
|
||||
bg[NORMAL] = "#27282F"
|
||||
bg[PRELIGHT] = "#aaacc1"
|
||||
bg[ACTIVE] = "#454f60"
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f"
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
style "treeview" = "default"
|
||||
{
|
||||
engine "pixmap"
|
||||
{
|
||||
# don't draw the focus around listitems
|
||||
image
|
||||
{
|
||||
function = FOCUS
|
||||
}
|
||||
}
|
||||
}
|
||||
style "header"
|
||||
{
|
||||
|
||||
GtkTreeView::odd_row_color = "#2c2c2c"
|
||||
GtkTreeView::even_row_color = "#555555"
|
||||
|
||||
}
|
||||
|
||||
class "GtkButton" style "buttons"
|
||||
class "GtkSpinButton" style "buttons"
|
||||
class "GtkToggleButton" style "buttons"
|
||||
class "GtkCheckBox" style "buttons"
|
||||
widget_class "*Tree*" style "header"
|
||||
class "GtkTreeView" style "treeview"
|
||||
class "GtkLabel" style "text"
|
||||
class "*List" style "text"
|
||||
class "GtkListItem" style "text"
|
||||
class "*GtkCList*" style "text"
|
||||
class "GtkWidget" style "default"
|
||||
18494
branches/V-1.5.3/veejay-client/share/gveejay.reloaded.glade
Normal file
18494
branches/V-1.5.3/veejay-client/share/gveejay.reloaded.glade.bak
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
|
||||
|
||||
<glade-project>
|
||||
<name></name>
|
||||
<program_name></program_name>
|
||||
<gnome_support>FALSE</gnome_support>
|
||||
</glade-project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
|
||||
|
||||
<glade-project>
|
||||
<name></name>
|
||||
<program_name></program_name>
|
||||
<gnome_support>FALSE</gnome_support>
|
||||
</glade-project>
|
||||
118
branches/V-1.5.3/veejay-client/share/high_contrast.rc
Normal file
@@ -0,0 +1,118 @@
|
||||
# Edit these colors and fonts however you like.
|
||||
style "default"
|
||||
{
|
||||
engine "hcengine" {}
|
||||
xthickness = 1
|
||||
ythickness = 1
|
||||
GtkWidget::shadow_type = GTK_SHADOW_ETCHED_OUT
|
||||
#GtkWidget::interior_focus = 0
|
||||
#GtkWidget::focus_padding = 0
|
||||
#GtkWidget::default_border = {0, 0, 0, 0}
|
||||
#GtkWidget::default_outside_border = {0, 0, 0, 0}
|
||||
GtkWidget::default_spacing = 0
|
||||
GtkScale::stepper_size = 8
|
||||
GtkRange::through-width = 4
|
||||
GtkRange::trough_border = 0
|
||||
GtkRange::slider-width = 16
|
||||
GtkScale::slider-length = 10
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#000000" # borders etc.
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
fg[ACTIVE] = "#000000" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#ffffff"
|
||||
fg[INSENSITIVE] = "#c0c0c0"
|
||||
|
||||
bg[NORMAL] = "#ffffff" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#c0c0c0" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#00ff00"
|
||||
bg[INSENSITIVE] = "#ffffff" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#050505"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#c0c0c0"
|
||||
base[PRELIGHT] = "#00fff0" # achtergrond van lists, status bars
|
||||
base[ACTIVE] = "#0000ff"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
style "text"
|
||||
{
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#ffffff" # borders etc.
|
||||
fg[PRELIGHT] = "#ffffff"
|
||||
fg[ACTIVE] = "#ffffff" # ook borders, van sliders en notebook
|
||||
fg[SELECTED] = "#ffffff"
|
||||
fg[INSENSITIVE] = "#ffffff"
|
||||
|
||||
bg[NORMAL] = "#27282F" # algemene achtergrond kleur
|
||||
bg[PRELIGHT] = "#aaacc1" # achtergrond geselecteerd widget
|
||||
bg[ACTIVE] = "#454f60" # niet actieve tabs, achtergrond sliders
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f" # achtergrond kleur van niet actieve knopjes
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
|
||||
style "buttons"
|
||||
{
|
||||
|
||||
font_name = "Sans 8"
|
||||
|
||||
fg[NORMAL] = "#888888"
|
||||
fg[PRELIGHT] = "#888888"
|
||||
fg[ACTIVE] = "#888888"
|
||||
fg[SELECTED] = "#888888"
|
||||
fg[INSENSITIVE] = "#888888"
|
||||
|
||||
bg[NORMAL] = "#27282F"
|
||||
bg[PRELIGHT] = "#aaacc1"
|
||||
bg[ACTIVE] = "#454f60"
|
||||
bg[SELECTED] = "#5058a0"
|
||||
bg[INSENSITIVE] = "#27282f"
|
||||
|
||||
text[NORMAL] = "#d8d8d8"
|
||||
text[PRELIGHT] = "#d8d8d8"
|
||||
text[ACTIVE] = "#FF0000"
|
||||
text[SELECTED] = "#FF0000"
|
||||
text[INSENSITIVE] = "#404040"
|
||||
|
||||
base[NORMAL] = "#37383f"
|
||||
base[PRELIGHT] = "#aaacc1"
|
||||
base[ACTIVE] = "#757f90"
|
||||
base[SELECTED] = "#757ab3"
|
||||
base[INSENSITIVE] = "#27282f"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
class "GtkButton" style "default"
|
||||
class "GtkSpinButton" style "default"
|
||||
class "GtkToggleButton" style "default"
|
||||
class "GtkCheckBox" style "default"
|
||||
|
||||
class "GtkLabel" style "default"
|
||||
|
||||
class "GtkWidget" style "default"
|
||||
BIN
branches/V-1.5.3/veejay-client/share/icon_apply.png
Normal file
|
After Width: | Height: | Size: 709 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_berserk.png
Normal file
|
After Width: | Height: | Size: 737 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_bezerk.png
Normal file
|
After Width: | Height: | Size: 737 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_bounce.png
Normal file
|
After Width: | Height: | Size: 268 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_bug.png
Normal file
|
After Width: | Height: | Size: 581 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_bundle.png
Normal file
|
After Width: | Height: | Size: 851 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_cache.png
Normal file
|
After Width: | Height: | Size: 554 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_clear.png
Normal file
|
After Width: | Height: | Size: 616 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_clearall.png
Normal file
|
After Width: | Height: | Size: 757 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_color.png
Normal file
|
After Width: | Height: | Size: 749 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_connect.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_copy.png
Normal file
|
After Width: | Height: | Size: 472 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_crop.png
Normal file
|
After Width: | Height: | Size: 321 B |
BIN
branches/V-1.5.3/veejay-client/share/icon_cut.png
Normal file
|
After Width: | Height: | Size: 556 B |