GithubHelp home page GithubHelp logo

cdp7's Introduction

The CDP System Software

Version 7.1.1

Copyright (c) 1983-2022 Composers Desktop Project Ltd

The CDP logo

The CDP System is free software; you can redistribute them and/or modify them  
under the  terms of the GNU Lesser General Public License as published by   
the Free Software Foundation; either version 2.1 of the License,   
or (at your option) any later version.

The CDP System 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 Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License  
along with this software (see the top-level file COPYING); if not, write to  
the Free Software  Foundation, Inc., 51 Franklin St, Fifth Floor,  
Boston, MA 02110-1301 USA

The Programs


The CDP System is a large suite of command line programs for sound processing, in the musique concrete tradition. For general information, visit the CDP Home Page.
For Linux, MacOS and Windows platforms. Builds are currently confirmed only for 32bit Windows (Win32).

Inclusions

This repository includes sources for:


Available GUI front ends (not included in this repository)

  • Soundloom by Trevor Wishart (TCL/TK, all platforms)

  • SoundShaper by Robert Fraser (currently Windows only)

Refer to the CDP Download Page for details, including documentation.

cdp7's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cdp7's Issues

Split libaaio into a separate repo

For packagers, it'd be nice if libaaio were maintained in its own separated repo with its own point release, also to avoid things like #10.

In order to keep CDP easy to install, the libaaio directory could be turned into a git submodule.

Build on OSX Catalina?

Hello!

It seems the cmake build is missing a few things for the Apple platform, the AAIOLIB is not set for APPLE, io.h and winsock.h are tested on Apple and they don't exist. After those are fixed, the build complains about missing source files.

Have you had a moment to get the build operational in OSX Catalina?

My main goal in asking is to have x86_64 binaries produced for Catalina, the binaries I've found online for Mac don't work on Catalina.

Thanks!

Do you even have a Linux tester? Or is it all theoretical?

Numerous errors (due to Warning being treated as errors) in the codebase, many "could be uninitialized" ones, mismatched deletes and news, etc.

cmake/compileroptimizations.cmake not found

explicit usage of the time function because the inclusion of time.h is in a check if the OS is windows.

things like that.
I have stopped trying to compile this now cause I'm not comfortable enough to clean up the memory allocation issues on this new codebase, and I really wanted to just use the thamn ding.

Frustrating.
No way this could have slipped by an actual tester.

Alternative single-executable mode

Hello,

right now, CDP operates as it traditionally does, by having a separate executable file for each command.

This is very uncommon on *NIX systems and ends up cluttering a bit the program namespace, which could cause conflicts between different programs with the same name as one of the CDP commands (and with 148 programs, I think the chance of it happening is rather high!). This could create huge problems especially considering that some commands use common words such as filter, prefix and synth.

My proposed solution is to allow building CDP as a single executable which can be used like this:

cdp7 [command] [parameters]

for example

cdp7 distort ...

(I used cdp7 instead of cdp to avoid conflicts with other programs named cdp, and also so that if cdp8 is ever released and it breaks the ABI, existing user scripts won't be broken).

This could be set as a CMake option, just to avoid breaking existing user scripts based on the current way of doing things.

Please provide build instructions

I manged to build from the source tar ball from unstablesound.net, after adjusting some of the Makefile.linux files, now I'm trying if I can build this GitHub repository. I cannot find any instructions. Should I just run cmake? I'm getting the following

...
CMake Error at CMakeLists.txt:76 (include):
  include could not find load file:

    cmake/CompilerOptimizations.cmake
...
-- Building on Linux
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
AAIOLIB
    linked by target "iterfof" in directory /home/hhrutz/Documents/devel/CDP7/dev/new
    linked by target "fracture" in directory /home/hhrutz/Documents/devel/CDP7/dev/new
    linked by target "newsynth" in directory /home/hhrutz/Documents/devel/CDP7/dev/new
    linked by target "newtex" in directory /home/hhrutz/Documents/devel/CDP7/dev/new

-- Configuring incomplete, errors occurred!

How am I supposed to set up AAIOLIB?

Use proper point releases

Hello,

I am packaging CDP for openSUSE, in fact I have already built a working RPM package.

To help packagers, it'd be great if CDP adopted proper point releases, like 7.1.2, best if done through git tags.

Right now it's a bit confusing because the official website says the latest version is 7.1.0 but there have been a few commits since CDP was first uploaded to Github.

Additionally, CMakeLists.txt says:

set (CPACK_PACKAGE_VERSION "7.0.0")

This also applies to libaaio, see my other issue #13

Licensing doubts

I cannot figure the licensing for these files:

dev/new/dshift.c
dev/externals/portsf/ieee80.h
dev/externals/portsf/ieee80.c
dev/externals/paprogs/pvplay/pvfileio.h
dev/externals/paprogs/pvplay/pvdefs.h
dev/externals/paprogs/pvplay/pvfileio.c

They do not have the LGPL header nor any licensing info and they seem to have different authors from the rest of CDP7, so they possibly are copyrighted/proprietary files unless their developers signed a CLA.

This creates a problem for distributing CDP in some distro repositories, such as openSUSE and Debian.

simplify building libaaio

I would like to suggest to simplify building libaaio if possible. Perhaps this can be achieved by compiling it as part of the cmake run (this might be a possibly contribution ebe2248 ) and by removing the need to install it system-wide (done in 9103170 ?).

Build fails on Linux

Running cmake the following way
mkdir build cd build cmake ..
fails as AAIOLIB needs to be set and the file cmake/CompilerOptimizations.cmake is not found. With
cmake -DAAIOLIB=/usr/local/lib/libaaio.a -DUSE_COMPILER_OPTIMIZATIONS=no
this run succeeds.

Running make as a next step fails with
[ 4%] Building C object dev/sfsys/CMakeFiles/sfsys.dir/sfdir.c.o
/home/user/devel/cdp/git/CDP7/dev/sfsys/sfdir.c: In function ‘sfdir’:
/home/user/devel/cdp/git/CDP7/dev/sfsys/sfdir.c:148:13: error: ‘strncpy’ output may be truncated copying 63 bytes from a string of length 255 [-Werror=stringop-truncation]
148 | strncpy(dir.name, f->d_name, MAXSFNAME);
/home/user/devel/cdp/git/CDP7/dev/sfsys/sfdir.c:118:13: error: ‘strncpy’ output may be truncated copying 63 bytes from a string of length 255 [-Werror=stringop-truncation]
118 | strncpy(dir.name, f->d_name, MAXSFNAME);
cc1: all warnings being treated as errors
make[2]: *** [dev/sfsys/CMakeFiles/sfsys.dir/build.make:89: dev/sfsys/CMakeFiles/sfsys.dir/sfdir.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1432: dev/sfsys/CMakeFiles/sfsys.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

pvoc maximum window length

pvoc's command line documentation gives 32768 as the maximum number of analysis points while calling the program itself fails with -c32768 as
ERROR: Parameter[1] Value (32768.000000) out of range (2.000000 to 16380.000000)

Mac OSX Catalina x86_64 Build

Greetings! Thanks for making this library available!

Was curious if you had a chance to see this built on Catalina? I've gotten libaaio built to x86_64 and this library changed over for OSX, but I get the following linker error.

4 warnings generated.
gcc -O -Wall -mmacosx-version-min=10.5  -arch x86_64 -Dunix -I ../include -I ../../include main.o ap_blur.o blur.o -o blur ../../lib/libcdp2k.a ../../lib/libsfsys.a
Undefined symbols for architecture x86_64:
  "_getAliasName", referenced from:
      _sfopenEx in libsfsys.a(sfsys.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [blur] Error 1

Any ideas what I should be looking at?
https://github.com/Sciss/ComposersDesktopProject/compare/master...phasebash:catalina

Verified the symbol is in the binary

brandon@Brandons-MBP lib % nm -an libsfsys.a | c++filt

libsfsys.a(sfsys.o):
                 U ___error
                 U ___stack_chk_fail
                 U ___stack_chk_guard
                 U ___stderrp
                 U ___strcat_chk
                 U ___strcpy_chk
                 U __fullpath
                 U __stricmp
                 U __strnicmp
                 U _abort
                 U _atexit
                 U _calloc
                 U _fclose
                 U _fgetpos
                 U _fileno
                 U _fopen
                 U _fprintf
                 U _fread
                 U _free
                 U _frexp
                 U _fseek
                 U _fseeko
                 U _fsetpos
                 U _ftruncate
                 U _fwrite
                 U _getAliasName
                 U _getdrivefreespace
                 U _getenv
                 U _ldexp
                 U _legalfilename
                 U _malloc
                 U _memcpy
                 U _memset
                 U _remove
                 U _rename
                 U _sampsize
                 U _strchr
                 U _strcmp
                 U _strcpy
                 U _strlen
                 U _strrchr
                 U _time
                 U _tmpnam
0000000000000000 T _sfinit
0000000000000030 T _sflinit
0000000000000060 unsigned short _rsff
brandon@Brandons-MBP lib % lipo -info libsfsys.a 
Non-fat file: libsfsys.a is architecture: x86_64

housekeep is compiled as houskeep

After running make the directory CDP7/Release contains a binary called misspelled "houskeep" and is missing "fastconv".
CDP7/dev/Release does hold the correct "housekeep" and "fastconv". What is the difference between these two locations?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.