Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Manual redraft: Building Csound: all platforms

Date2008-03-17 13:53
FromMichael Gogins
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
STK should be part of the official build, there are no licensing platforms and it should build on all platforms.

Regards,
Mike

-----Original Message-----
>From: Andres Cabrera 
>Sent: Mar 17, 2008 9:31 AM
>To: Developer discussions 
>Subject: Re: [Cs-dev] Manual redraft: Building Csound: all platforms
>
>Hi David,
>
>Thanks for the initiative. I'm attaching the cvs version of the page
>in the manual. Also see inline comments below.
>
>
>On Mon, Mar 17, 2008 at 2:10 AM, DavidW  wrote:
>> Please indicate if you know whether any of these dot point DON'T apply
>>  to a csound build on a particular platform:
>>  So for example, in the first dot point, it's not clear whether the OR
>>  is XOR or not i.e I assume the Windows multimedia library is for
>>  Windows only, but can it alternatively (or also) use either ALSA raw
>>  MIDI interface, or PortMidi. And can Mac OSX or OS9 or Linux use the
>>  ALSA raw MIDI interface?
>>  Is it appropriate to recommend any preferences here?
>
>Yes, these libraries are platform dependent. For Window, mme is
>recommended, for Linux the alsa interface is recommended and for Mac,
>I think PortMIDI is the only choice currently. (It woudl be better to
>have a CoreAudio MIDI module)
>
>>
>>  Is dot point 2 is actually talking about python as an embedded
>>  interpreter of csound, and csound as an extension of python? Or not
>>  the latter at all?
>Both. There are the python opcodes, which let you use python from
>within csound and the python PAI interface which lets you use csound
>from python.
>
>>  Does the csound library (accessed vi csnd.py or it's java equivalent
>>  API) require FLTK, etc?
>
>It doesn't require but it can. The API interfaces provide access to
>the csound engine independently from plugin opcodes and orc/sco/csd.
>When you use the API, you make csound run, then it loads opcodes, then
>it runs orc/sco/csds and receives realtime events.
>
>>
>>  dot point 3. Any objections to capitalising Fluid in dot-point 3?
>>
>>  I assume the Fluid, STK and Loris opcodes work on all platforms.  OK?
>
>I think they do, though I'm not sure. STK and Loris are not part of
>the official build, you may want to mention that.
>
>>
>>  dot point 6. Are there no other dependencies for OSC opcodes on
>>  platforms other than Windows, other than http://plugin.org.uk/liblo ?
>>  dot point 7. IO assume this is for building the API python/Java
>>  wrappers. Is it assumed that the build will always need SWIG? Any
>>  version restrictions? (My experience with it is that it's pretty clean).
>
>Yes, SWIG is necessary, becuase it generates the wrappers.
>
>>  ----------------------
>>  The dot points
>>  ----------------------
>>  1.    *  Real-time MIDI can use the ALSA raw MIDI interface (requires
>>  alsa-dev), Windows multimedia library, or PortMidi from www.cs.cmu.edu/~music/portmusic
>>  .
>>
>Yes, depending on platform
>
>>  2.     * CsoundAC, which is both a standalone GUI and a Python
>>  extension module with extensive facilities for algorithmic
>>  composition, requires FLTK and the boost C++ template libraries for
>>  random numbers and linear algebra, from http://www.boost.org. The
>>  CsoundAC Random class requires that boost must be later than version
>>  1.32.1.
>>
>Don't know....
>
>>  3.    * The fluid opcodes require the Fluidsynth library from http://savannah.nongnu.org/download/fluid
>>  . For Windows, use the prebuilt binaries.
>>
>
>Yes. I would think "home brewed" binaries should also work, but I'm not sure
>
>>  4.     * The STK opcodes require STK source code from http://ccrma.stanford.edu/software/stk
>>  , copied into csound5/Opcodes/stk.
>>
>yes
>
>
>Cheers,
>Andrés




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://l

Date2008-03-17 14:16
From"Andres Cabrera"
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
AttachmentsNone  

Date2008-03-19 12:28
FromDavidW
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
Hi Folks,

I'm attaching my first reworking of the Building Csound manual page.  
The list rejected my attached rtf file so this is my attempt at a .txt

Would people who have some knowledge of the process check it out and   
comment out anything that's inaccurate or add anything else you think  
might be useful.
My questions are in red.

Please send your comments  to me off list and I'll incorporate. I've  
contacted Anthony Kozar re info for Mac pre-OSX builds.

thanks,
David


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-19 12:29
FromDavidW
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
AttachmentsBuildingCsound.txt  None  None  
Hi Folks,

I'm attaching my first reworking of the Building Csound manual page.  
The list rejected my attached rtf file so this is my attempt at a .txt

Would people who have some knowledge of the process check it out and   
comment out anything that's inaccurate or add anything else you think  
might be useful.
My questions are in red.

Please send your comments  to me off list and I'll incorporate. I've  
contacted Anthony Kozar re info for Mac pre-OSX builds.

thanks,
David


Date2008-03-29 12:37
From"Andres Cabrera"
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
AttachmentsNone  BuildingCsound.html  None  None  

Date2008-03-29 12:53
FromRory Walsh
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
Hi Andreas, the build section now looks much more detailed thanks to 
David and you for working on this. One thing I might add that it is 
rather unlikely that windows users have CVS installed on their machine. 
  I think it might also be a good idea to suggest running a simple 
command line version of CVS rather than a GUI one. I've had no luck with 
CVS GUIs on any platform and almost all of the instructions given for 
CVS are command line ones.

Rory.


Andres Cabrera wrote:
> Thanks David,
> I've incorporated your ideas and reorganized the building section. It
> is attached below. Comments welcome.
> 
> Cheers,
> Andrés
> 
> On Wed, Mar 19, 2008 at 7:29 AM, DavidW  wrote:
>> Hi Folks,
>>
>>  I'm attaching my first reworking of the Building Csound manual page.
>>  The list rejected my attached rtf file so this is my attempt at a .txt
>>
>>  Would people who have some knowledge of the process check it out and
>>  comment out anything that's inaccurate or add anything else you think
>>  might be useful.
>>  My questions are in red.
>>
>>  Please send your comments  to me off list and I'll incorporate. I've
>>  contacted Anthony Kozar re info for Mac pre-OSX builds.
>>
>>  thanks,
>>  David
>>
>>
>>
>> -------------------------------------------------------------------------
>>  This SF.net email is sponsored by: Microsoft
>>  Defy all challenges. Microsoft(R) Visual Studio 2008.
>>  http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>>  Csound-devel mailing list
>>  Csound-devel@lists.sourceforge.net
>>  https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> Building Csound
>> Prev   	Part I. Overview 	 Next 
>>
>> ------------------------------------------------------------------------
>>
>>
>>     Building Csound
>>
>> Csound has become a complex project and can involve many dependencies. 
>> Unless you are a Csound developer or need to develop Csound plugins, 
>> you should try to use one of the precompiled distributions from 
>> http://www.sourceforge.net/projects/csound. However, building from 
>> source is probably the best option on GNU/Linux.
>>
>> This section focuses on the main Csound 5 build system, which uses 
>> SCons , a Python program that replaces /make/ 
>> for cross-platform configuration and building.
>>
>> When building Csound from source instead of using a precompiled 
>> package, you first need to obtain the sources for a release of Csound 
>> at http://www.sourceforge.net/projects/csound. The source packages 
>> have either a zip or tar.gz extension.
>>
>> The latest Csound source code is available through the Concurrent 
>> Versions System (CVS). It's likely that you'll already have CVS 
>> installed on your machine. If not, it can be downloaded from 
>> (http://www.cvshome.org).
>>
>> The Csound CVS front page is located at: 
>> http://sourceforge.net/cvs/?group_id=81968 > CVS>. Information about accessing the CVS repository may be found in 
>> the SourceForge document http://sourceforge.net/docs/E04/ 
>> . To download 
>> Csound sources using CVS, run the following commands (from a terminal 
>> or DOS shell):
>>
>>     cvs -d:pserver:anonymous@csound.cvs.sourceforge.net:/cvsroot/csound login
>>
>>     cvs -z3 -d:pserver:anonymous@csound.cvs.sourceforge.net:/cvsroot/csound co -P csound5
>>   
>>
>> To update the Csound5 sources you already have in your csound5 
>> directory, change to that directory, and then type:
>>
>>     cvs -z3 update -d
>>   
>>
>> To update only a single file, change to the sources directory, and 
>> then type:
>>
>>     cvs -z3 update filename
>>   
>>
>>
>>     Basic requirements to build Csound 5 on any platform
>>
>>     * Install libdsndfile version 1.0.13 or later from
>>       www.mega-nerd.com/libsndfile .
>>     * Install Python from www.python.org . In
>>       most cases it is best to install the most recent stable version.
>>       Python is needed for SCons to run.
>>     * Install the SCons build system from www.scons.org
>>       . The recommended version for SCons is
>>       version 0.97.
>>
>> These are the minimum requirements for a build, but csound has many 
>> optional components which enhance functionality and add opcodes which 
>> may require additional libraries.
>>
>>
>>     Optional configurations (ALL platforms)
>>
>> In most cases it is best to install the most recent stable versions of 
>> the optional libraries.
>>
>>     * Real-time audio can use the cross-platform PortAudio library
>>       (v19-devel branch) from www.portaudio.com/usingcvs.html
>>       . Please note that
>>       stable version 18 will not work. Csound can also use several
>>       platform specific audio APIs like ALSA, JACK, CoreAudio and the
>>       Windows multimedia library, see each platform notes for details.
>>     * Real-time MIDI can use the cross-platform PortMidi library from
>>       www.cs.cmu.edu/~music/portmusic
>>       
>>     * For GUI widgets, install FLTK 1.1 from www.fltk.org
>>       . You must configure and build FLTK with
>>       |--enable-shared --enable-threads|.
>>     * For generating Python and Java interfaces, install the Software
>>       Interface and Wrapper Generator (SWIG) from http://www.swig.org.
>>     * /CsoundAC/ requires FLTK and the boost C++ template libraries
>>       for random numbers and linear algebra, from
>>       http://www.boost.org. /CsoundAC/ requires at least version 1.32.1.
>>     * The fluid opcodes require the Fluidsynth library from
>>       http://savannah.nongnu.org/download/fluid.
>>     * The OSC opcodes require the latest version of the liblo library
>>       from http://plugin.org.uk/liblo. On Windows, liblo requires a
>>       Windows version of the POSIX thread library (pthreads) which is
>>       available from http://sourceware.org/pthreads-win32; copy
>>       libpthreadGC2.a to libpthread.a. You may also need the latest
>>       version of autoconf from MinGW.
>>     * The STK opcodes require STK source code from
>>       http://ccrma.stanford.edu/software/stk, copied into
>>       |csound5/Opcodes/stk|.
>>     * The Loris opcodes require Loris source code from
>>       http://sourceforge.net/projects/loris, copied into
>>       |csound5/Opcodes/Loris|.
>>
>>
>>     Windows
>>
>> The following is needed to build on Windows:
>>
>>    *
>>
>>       Install a compiler like gcc or Microsoft Visual Studio (there is
>>       also support for the Intel C++ compiler). If using MinGW (gcc),
>>       install all of the current release of MinGW using the Automated
>>       MinGW Installer from www.mingw.org , for
>>       example into |c:/mingw|. This should install gcc, g++, GNU
>>       binutils, the MinGW runtime, and the win32 API. Then install the
>>       current release of MSys.
>>
>>       On Windows with Microsoft Visual C++, install Microsoft Visual
>>       C++ 2008. The free Express Edition, from
>>       http://www.microsoft.com/express/vc/ works fine. You will need
>>       to obtain a copy of the |dirent.h| header file for Windows, e.g.
>>       from http://www.softagalleria.net/dirent.php. You may also need
>>       to obtain the |bufferoverflowu.lib| library from Microsoft and
>>       put it into the Visual C++ |lib| directory. Then, to open a
>>       shell in which to compile Csound, use the Start menu, Programs
>>       group, Visual C++ 9.0 Express Edition, Visual Studio Tools,
>>       Visual Studio Command Prompt command.
>>
>> Optional configurations for Windows include the following:
>>
>>     * Real-time audio and MIDI can use the Windows multimedia library.
>>       This module will be built automatically if the headers are found.
>>
>>
>>     Linux
>>
>> Optional configurations for Linux include the following:
>>
>>     * Real-time audio on Linux can use ALSA (www.alsa-project.org
>>       ) and JACK (www.jackaudio.org/
>>       ) in addition to PortAudio.
>>       Distributions usually provide the appropriate dev packages for
>>       these systems through their repositories.
>>
>>
>>     Mac OS X
>>
>> Optional configurations for Mac OS X include the following:
>>
>>     * Real-time audio can use CoreAudio (OSX builtin native audio
>>       system) and Jack, appart from PortAudio.
>>
>>
>>     Building Csound 5 with SCons
>>
>> When you have all the necessary packages and their sources (or -dev 
>> packages) to support your particular requirements on your hardware 
>> platform, execute "scons -h" to discover the current configuration 
>> options.
>>
>> Building is made considerably easier if, when installing, the 
>> downloaded headers and libraries are installed in their default 
>> locations. To modify the default build, in particular to handle 
>> non-standard options for third-party dependencies, such as where 
>> headers and libraries are to be found:
>>
>>     * On Windows, when building with Microsoft Visual C++, modify
>>       custom-msvc.py
>>     * On Windows, when building with MinGW/MSys, modify custom-mingw.py
>>     * On Linux and Mac OSX edit custom.py
>>
>> If you do modify this file, you should make it read-only (or otherwise 
>> protect it) so that CVS will not overwrite it when you next update the 
>> sourcefiles. Avoid modifying the SConstruct file.
>>
>> Execute scons with the optional custom variables you desire. For example:
>>
>> scons buildOSC=1 buildCsound5GUI=1 buildPythonOpcodes=1 useOSC=1 buildLoris=0
>> [Note] 	Note
>>
>> It is important that you set the environment variable |OPCODEDIR| to 
>> the directory where plugin libraries are installed; in the case of a 
>> double precision build, |OPCODEDIR64| should be set instead. 
>> Installers usually take care of this, but it is necessary when 
>> building from source so Csound can find its plugin libraries.
>>
>>
>>     Current build options
>>
>> *Table 4. Current SCons Build Options*
>>
>> Custom Variable 	Effect if set to 1
>> buildCsoundVST 	Build CsoundVST. Needs CsoundAC, FLTK, boost, Python, 
>> SWIG.
>> buildCsoundAC 	Build CsoundAC. Needs FLTK, boost, Python, SWIG.
>> buildCsound5GUI 	Build FLTK GUI frontend. Requires FLTK 1.1.7 or later.
>> buildCSEditor 	Build the Csound syntax highlighting text editor. 
>> Requires FLTK headers and libs.
>> buildDSSI 	Build DSSI/LADSPA host opcodes.
>> buildImageOpcodes 	Build image opcodes. 1 by default. Set to 0 to avoid.
>> buildInterfaces 	Build interface library for Python, JAVA, Lua, C++, 
>> and other languages.
>> buildJavaWrapper 	Build Java wrapper for the interface library.
>> buildLoris 	Build the Loris Python extension and opcodes.
>> buildNewParser 	Enable building new parser. Requires Flex/Bison.
>> buildOSXGUI 	Build the basic GUI frontend. OSX only.
>> buildPDClass 	Build csoundapi~ PD class. Needs m_pd.h in the standard 
>> places.
>> buildPythonOpcodes 	Build Python opcodes
>> buildRelease 	Build for release. Implies noDebug.
>> buildSDFT 	Build SDFT code. 1 by default. Set to 0 to avoid.
>> buildTclcsound 	Build Tclcsound frontend (cstclsh, cswish and 
>> tclcsound dynamic module). Requires Tcl/Tk headers and libs.
>> buildUtilities 	Build stand-alone executables for utilities that can 
>> also be used with -U.
>> buildVirtual 	Build Virtual MIDI keyboard. Requires FLTK 1.1.7 or 
>> later headers and libs.
>> buildvst4cs 	Build vst4cs plugins Requires Steinberg VST headers.
>> buildWinsound 	Build Winsound frontend. Requires FLTK headers and libs.
>> dynamicCsoundLibrary 	Build dynamic Csound library instead of 
>> libcsound.a.
>> gcc3opt 	Enable gcc 3.3.x or later optimizations for the specified CPU 
>> architecture (e.g. pentium3); implies noDebug.
>> gcc4opt 	Enable gcc 4.0 or later optimizations for the specified CPU 
>> architecture (e.g. pentium3); implies noDebug.
>> generateTags 	Generate TAGS.
>> generatePdf 	Generate PDF documentation.
>> install 	Enables the Install targets.
>> Lib64 	Build for lib64 rather than lib.
>> noDebug 	Build without debugging information.
>> noFLTKThreads 	Disable use of a separate thread for FLTK widgets.
>> useAltivec 	On OSX use the gcc AltiVec optmisation flags.
>> useALSA 	ALSA for real-time audio and MIDI input and output.
>> useCoreAudio 	use CoreAudio for real-time audio input and output.
>> useDouble 	Use double-precision floating point for audio samples.
>> useFLTK 	Use FLTK for graphs and widget opcodes.
>> useGettext 	Use the GNU internationalisation/localisation scheme
>> useGprof 	Build with profiling information (-pg).
>> usePortAudio 	Use PortAudio for real-time audio input and output.
>> usePortMIDI 	Build PortMidi plugin for real time MIDI input and output.
>> useJack 	Used if you compiled PortAudio to use Jack; also builds Jack 
>> plugin.
>> useLrint 	Use lrint() and lrintf() for converting floating point 
>> values to integers.
>> useOSC 	For OSC support.
>> useUDP 	For UDP support. 1 by default. Set to 0 to avoid.
>> withICL 	Build with the Intel C++ Compiler (also requires Microsoft 
>> Visual C++), Set to 0 to build with MinGW. Windows only.
>> withMSVC 	Build with Microsoft Visual C++, or set to 0 to build with 
>> MinGW. Windows only.
>> Word64 	Build for 64bit computer.
>> pythonVersion 	Set to the Python version to be used.
>>
>>
>> ------------------------------------------------------------------------
>> Prev   	Up  	 Next 
>> TclCsound Command Reference  	Home  	 Csound Links
>>
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> Check out the new SourceForge.net Marketplace.
>> It's the best place to buy or sell services for
>> just about anything Open Source.
>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2008-03-29 14:29
From"Andres Cabrera"
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
AttachmentsNone