Merge lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian into lp:ubuntu/saucy/csound

Proposed by Vibhav Pant
Status: Merged
Merge reported by: Sebastien Bacher
Merged at revision: not available
Proposed branch: lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian
Merge into: lp:ubuntu/saucy/csound
Diff against target: 5640 lines (+48/-5348)
24 files modified
.pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt (+0/-161)
.pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt (+0/-132)
.pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt (+0/-148)
.pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt (+0/-134)
.pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt (+0/-160)
.pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt (+0/-133)
.pc/2001-lua-link.diff/interfaces/CMakeLists.txt (+0/-149)
.pc/2004-fix-gettext.diff/Top/getstring.c (+0/-168)
.pc/2007-apidoc-dotpath.patch/Doxyfile (+0/-1522)
.pc/2008-apidoc-listings-pkg.patch/refman_header.tex (+0/-158)
.pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp (+0/-723)
.pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt (+0/-856)
.pc/2020-libpthread-underlinkage.patch/CMakeLists.txt (+0/-864)
.pc/applied-patches (+0/-12)
CMakeLists.txt (+1/-9)
Doxyfile (+1/-1)
Opcodes/CMakeLists.txt (+6/-1)
Opcodes/stk/stkOpcodes.cpp (+13/-7)
Top/getstring.c (+4/-1)
debian/changelog (+13/-0)
debian/rules (+4/-0)
frontends/CsoundAC/CMakeLists.txt (+4/-5)
interfaces/CMakeLists.txt (+2/-3)
refman_header.tex (+0/-1)
To merge this branch: bzr merge lp:~vibhavp/ubuntu/saucy/csound/merge-from-debian
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Ubuntu branches Pending
Review via email: mp+162768@code.launchpad.net
To post a comment you must log in.
30. By Vibhav Pant

* Merge from Debian unstable. Remaining Changes:
  - Added missing pthread lib to link, fixing FTBFS.

Revision history for this message
Sebastien Bacher (seb128) wrote :

thanks for your work

review: Approve
Revision history for this message
Sebastien Bacher (seb128) wrote :

could you also maybe send that patch/diff to debian so we could sync with them again later on?

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory '.pc/0000-backported-cmake-additions.diff'
2=== removed directory '.pc/0000-backported-cmake-additions.diff/Opcodes'
3=== removed file '.pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt'
4--- .pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt 2012-06-16 10:01:58 +0000
5+++ .pc/0000-backported-cmake-additions.diff/Opcodes/CMakeLists.txt 1970-01-01 00:00:00 +0000
6@@ -1,161 +0,0 @@
7-option(BUILD_CHUA_OPCODES "Build the chua opcodes (requires boost)" ON)
8-option(BUILD_DSSI_OPCODES "Build the DSSI opcodes" ON)
9-option(BUILD_FLUID_OPCODES "Build the fluidsynth opcodes" ON)
10-option(BUILD_JACK_OPCODES "Build the JACK related opcodes" ON)
11-option(BUILD_LINEAR_ALGEBRA_OPCODES "Build the Linear Algebra Opcodes" ON)
12-option(BUILD_OSC_OPCODES "Build the OSC Opcodes" ON)
13-option(BUILD_IMAGE_OPCODES "Build the image opcodes" ON)
14-option(BUILD_PYTHON_OPCODES "Build the Python opcodes" ON)
15-option(BUILD_LUA_OPCODES "Build the Lua opcodes" ON)
16-option(BUILD_WIIMOTE_OPCODES "Build the Lua opcodes" ON)
17-
18-find_package(Boost)
19-check_include_file(ladspa.h LADSPA_H)
20-check_include_file(fluidsynth.h FLUIDSYNTH_H)
21-find_library(JACK_LIBRARY jack)
22-find_library(JACKDMP_LIBRARY jackdmp)
23-check_include_file(jack/jack.h JACK_HEADER)
24-check_include_file_cxx(gmm/gmm.h GMM_HEADER)
25-check_include_file(lo/lo.h OSC_HEADER)
26-find_package(PNG)
27-find_package(PythonLibs)
28-find_package(Lua51)
29-check_include_file(wiiuse.h WIIUSE_H)
30-find_library(WIIUSE_LIB wiiuse)
31-
32-## OPCODE LIBS WITH NO EXTERNAL DEPENDENCIES ##
33-
34-make_plugin(mixer mixer.cpp)
35-make_plugin(signalflowgraph signalflowgraph.cpp)
36-
37-make_plugin(ampmidid ampmidid.cpp)
38-make_plugin(cs_date date.c)
39-make_plugin(system_call system_call.c)
40-make_plugin(doppler doppler.cpp)
41-make_plugin(fractalnoise tl/fractalnoise.cpp)
42-
43-make_plugin(fareygen fareygen.c)
44-
45-make_plugin(cellular cellular.c)
46-
47-# temporarily do not build on Windows until these opcodes are fixed
48-# to compile
49-if(NOT WIN32)
50- make_plugin(udprecv sockrecv.c)
51- make_plugin(udpsend socksend.c)
52-
53-endif()
54-
55-set(scansyn_SRCS
56- scansyn.c scansynx.c)
57-make_plugin(scansyn "${scansyn_SRCS}" m)
58-
59-if(UNIX)
60- make_plugin(control control.c)
61-endif()
62-
63-if(LINUX)
64- make_plugin(urandom urandom.c)
65-endif()
66-
67-## OPCODES WITH EXTERNAL DEPENDENCIES ##
68-
69-check_deps(BUILD_CHUA_OPCODES Boost_FOUND)
70-if(BUILD_CHUA_OPCODES)
71- include_directories(${Boost_INCLUDE_DIRS})
72- make_plugin(chua chua/ChuaOscillator.cpp)
73-endif()
74-
75-check_deps(BUILD_DSSI_OPCODES LADSPA_H)
76-if(BUILD_DSSI_OPCODES)
77- set(dssi_SRC dssi4cs/src/load.c dssi4cs/src/dssi4cs.c)
78- make_plugin(dssi4cs "${dssi_SRC}" dl)
79-endif()
80-
81-check_deps(BUILD_FLUID_OPCODES FLUIDSYNTH_H)
82-if(BUILD_FLUID_OPCODES)
83- make_plugin(fluidOpcodes fluidOpcodes/fluidOpcodes.cpp fluidsynth)
84-endif()
85-
86-set(JACK_LIB (JACK_LIBRARY OR JACKDMP_LIBRARY))
87-check_deps(BUILD_JACK_OPCODES JACK_HEADER JACK_LIB)
88-if(BUILD_JACK_OPCODES)
89- set(jack_LIBS ${PTHREAD_LIBRARY})
90- if(JACKDMP_LIBRARY)
91- list(APPEND jack_LIBS ${JACKDMP_LIBRARY})
92- else()
93- list(APPEND jack_LIBS ${JACK_LIBRARY})
94- endif()
95- make_plugin(jacko jacko.cpp "${jack_LIBS}")
96- make_plugin(jackTransport jackTransport.c "${jack_LIBS}")
97-endif()
98-
99-check_deps(BUILD_LINEAR_ALGEBRA_OPCODES GMM_HEADER)
100-if(BUILD_LINEAR_ALGEBRA_OPCODES)
101- make_plugin(linear_algebra linear_algebra.cpp)
102-endif()
103-
104-check_deps(BUILD_OSC_OPCODES OSC_HEADER)
105-if(BUILD_OSC_OPCODES)
106- make_plugin(osc OSC.c)
107- target_link_libraries(osc lo pthread)
108-endif()
109-
110-check_deps(BUILD_IMAGE_OPCODES PNG_FOUND)
111-if(BUILD_IMAGE_OPCODES)
112- include_directories(${PNG_INCLUDE_DIR})
113- make_plugin(image imageOpcodes.c "${PNG_LIBRARIES}")
114- set_target_properties(image
115- PROPERTIES COMPILER_FLAGS "${PNG_DEFINITIONS}")
116-endif()
117-
118-check_deps(BUILD_PYTHON_OPCODES PYTHONLIBS_FOUND)
119-if(BUILD_PYTHON_OPCODES)
120- include_directories(${PYTHON_INCLUDE_DIRS})
121- make_plugin(py py/pythonopcodes.c ${PYTHON_LIBRARIES})
122-endif()
123-
124-check_deps(BUILD_LUA_OPCODES LUA51_FOUND)
125-if(BUILD_LUA_OPCODES)
126- include_directories(${LUA_INCLUDE_DIR})
127- make_plugin(LuaCsound LuaCsound.cpp ${LUA_LIBRARIES})
128-endif()
129-
130-check_deps(BUILD_WIIMOTE_OPCODES WIIUSE_H)
131-if(BUILD_WIIMOTE_OPCODES)
132- make_plugin(wiimote wiimote.c ${WIIUSE_LIB})
133-endif()
134-
135-
136-# OGG Opcode previously was built only for OLPC
137-#if(VORBISFILE_LIBRARY)
138-# set(vorbis_LIBS ${libcsound_LIBS} ${VORBISFILE_LIBRARY})
139-# make_plugin(ogg ogg.c "${vorbis_LIBS}")
140-#endif()
141-
142-
143-
144-#set(sfont_FLAGS "")
145-
146-#if(CMAKE_C_COMPILER MATCHES "gcc")
147-# set(sfont_FLAGS ${sfont_FLAGS} -fno-strict-aliasing)
148-#endif()
149-#if(BIG_ENDIAN)
150-# set(sfont_FLAGS ${sfont_FLAGS} -DWORDS_BIGENDIAN)
151-#endif()
152-#message(STATUS "Compiler flags used for sfont lib: ${sfont_FLAGS}")
153-#make_plugin(sfont sfont.c m)
154-#set_target_properties(sfont
155-# PROPERTIES COMPILER_FLAGS "${sfont_FLAGS}")
156-
157-
158-
159-
160-#if wiifound==1:
161-# WiiEnvironment = pluginEnvironment.Clone()
162-# makePlugin(WiiEnvironment, 'wiimote', ['wiimote.c'])
163-#if p5gfound==1:
164-# P5GEnvironment = pluginEnvironment.Clone()
165-# makePlugin(P5GEnvironment, 'p5g', ['p5glove.c'])
166-
167-add_subdirectory(stk)
168
169=== removed directory '.pc/0003-csoundac.patch'
170=== removed directory '.pc/0003-csoundac.patch/frontends'
171=== removed directory '.pc/0003-csoundac.patch/frontends/CsoundAC'
172=== removed file '.pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt'
173--- .pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000
174+++ .pc/0003-csoundac.patch/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000
175@@ -1,132 +0,0 @@
176-# Build CsoundAC
177-
178-option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON)
179-option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON)
180-option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON)
181-
182-
183-find_package(Boost)
184-find_library(MUSICXML_LIBRARY musicxml2)
185-find_package(FLTK)
186-find_package(SWIG)
187-find_package(PythonLibs)
188-find_package(Lua51)
189-
190-check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY)
191-check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND)
192-check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND)
193-
194-if(BUILD_CSOUND_AC)
195- include_directories(${CMAKE_HOME_DIRECTORY}/interfaces)
196- include_directories(${Boost_INCLUDE_DIRS})
197- include_directories(${FLTK_INCLUDE_DIR})
198- set(libcsoundac_SRCS
199- allegro.cpp
200- allegrord.cpp
201- allegroserial.cpp
202- allegrosmfrd.cpp
203- allegrosmfwr.cpp
204- allegrowr.cpp
205- Cell.cpp
206- ChordLindenmayer.cpp
207- cmake_install.cmake
208- Composition.cpp
209- Conversions.cpp
210- Counterpoint.cpp
211- CounterpointMain.cpp
212- CounterpointNode.cpp
213- Event.cpp
214- Hocket.cpp
215- ImageToScore.cpp
216- Lindenmayer.cpp
217- MCRM.cpp
218- mfmidi.cpp
219- Midifile.cpp
220- MusicModel.cpp
221- Node.cpp
222- Random.cpp
223- Rescale.cpp
224- Score.cpp
225- ScoreModel.cpp
226- ScoreNode.cpp
227- Sequence.cpp
228- Shell.cpp
229- Soundfile.cpp
230- StrangeAttractor.cpp
231- strparse.cpp
232- System.cpp
233- trace.cpp
234- Voicelead.cpp
235- VoiceleadingNode.cpp)
236-
237- add_library(libCsoundAC SHARED ${libcsoundac_SRCS})
238- set_target_properties(libCsoundAC PROPERTIES
239- LINK_INTERFACE_LIBRARIES ""
240- SOVERSION ${APIVERSION}
241- OUTPUT_NAME CsoundAC
242- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
243- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
244- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
245- )
246- target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY})
247-
248- if(MUSICXML_LIBRARY)
249- target_link_libraries(CsoundAC MUSICXML_LIBRARY)
250- endif()
251-
252- install(TARGETS libCsoundAC
253- LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
254- ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
255-
256- if(SWIG_FOUND)
257- include(${SWIG_USE_FILE})
258- set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR})
259- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
260- list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose")
261- endif()
262-
263- if(BUILD_CSOUND_AC_PYTHON_INTERFACE)
264- message(STATUS "Building CsoundAC Python interface")
265- find_package(PythonLibs)
266- include_directories(${PYTHON_INCLUDE_PATH})
267- set_source_files_properties(CsoundAC.i
268- PROPERTIES CPLUSPLUS ON
269- SWIG_MODULE_NAME CsoundAC)
270- swig_add_module(CsoundAC python CsoundAC.i)
271- swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES})
272-
273- set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES
274- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
275- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
276- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
277-
278- install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME}
279- LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}"
280- ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}")
281- install(FILES ${BUILD_LIB_DIR}/CsoundAC.py
282- DESTINATION ${PYTHON_MODULE_INSTALL_DIR})
283- endif()
284-
285- if(BUILD_CSOUND_AC_LUA_INTERFACE)
286- message(STATUS "Building CsoundAC Lua interface")
287- find_package(Lua51)
288- include_directories(${LUA_INCLUDE_DIR})
289-
290- SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i
291- PROPERTIES CPLUSPLUS ON
292- SWIG_MODULE_NAME luaCsoundAC)
293- SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i)
294- SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES})
295-
296- set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES
297- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
298- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
299- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
300- PREFIX "")
301-
302- install(TARGETS luaCsoundAC
303- LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}"
304- ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}")
305- endif()
306-
307-endif()
308
309=== removed directory '.pc/0004-swig-java-package.patch'
310=== removed directory '.pc/0004-swig-java-package.patch/interfaces'
311=== removed file '.pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt'
312--- .pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt 2012-09-28 18:56:24 +0000
313+++ .pc/0004-swig-java-package.patch/interfaces/CMakeLists.txt 1970-01-01 00:00:00 +0000
314@@ -1,148 +0,0 @@
315-## Language bindings ##
316-
317-# C++ INTERFACE LIBRARY
318-
319-option(BUILD_CXX_INTERFACE "Build the C++ interface library" ON)
320-option(BUILD_PYTHON_INTERFACE "Build the Python interface (needs BUILD_CXX_INTERFACE)" ON)
321-option(BUILD_JAVA_INTERFACE "Build the Java interface (needs BUILD_CXX_INTERFACE)" ON)
322-option(BUILD_LUA_INTERFACE "Build the Lua interface (needs BUILD_CXX_INTERFACE)" ON)
323-
324-if(BUILD_CXX_INTERFACE)
325- message(STATUS "Building C++ interface library")
326- set(libcsnd_SRCS
327- CppSound.cpp
328- CsoundFile.cpp
329- Soundfile.cpp
330- csPerfThread.cpp
331- cs_glue.cpp
332- filebuilding.cpp)
333- set(libcsnd_LIBS ${LIBSNDFILE_LIBRARY})
334- set(libcsnd_CFLAGS "")
335- list(APPEND libcsnd_LIBS ${CSOUNDLIB})
336-
337- add_library(libcsnd SHARED ${libcsnd_SRCS})
338- target_link_libraries(libcsnd ${libcsnd_LIBS})
339- set_target_properties(libcsnd PROPERTIES
340- LINK_INTERFACE_LIBRARIES ""
341- SOVERSION ${APIVERSION}
342- OUTPUT_NAME csnd
343- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
344- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
345- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
346- )
347- if(${libcsnd_CFLAGS})
348- add_compiler_flags(${libcsnd_CFLAGS} TARGETS libcsnd)
349- endif()
350-
351- install(TARGETS libcsnd
352- LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}"
353- ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}")
354-
355-endif()
356-
357-
358-# SWIG INTERFACES
359-FIND_PACKAGE(SWIG)
360-FIND_PACKAGE(PythonLibs)
361-FIND_PACKAGE(JNI)
362-FIND_PACKAGE(Java)
363-FIND_PACKAGE(Lua51)
364-
365-check_deps(BUILD_PYTHON_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE PYTHONLIBS_FOUND)
366-check_deps(BUILD_JAVA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE JNI_FOUND JAVA_FOUND)
367-check_deps(BUILD_LUA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE LUA51_FOUND)
368-
369-if(BUILD_PYTHON_INTERFACE OR BUILD_JAVA_INTERFACE OR BUILD_LUA_INTERFACE)
370-
371- include(${SWIG_USE_FILE})
372-
373- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
374-
375- set(CMAKE_SWIG_FLAGS ${libcsound_CFLAGS})
376- list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose")
377-
378- if(USE_DOUBLE)
379- list(APPEND CMAKE_SWIG_FLAGS "-DUSE_DOUBLE")
380- endif(USE_DOUBLE)
381-
382- set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR})
383-
384- if(BUILD_PYTHON_INTERFACE)
385- INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
386-
387- set(swigpython_LIBS ${PYTHON_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd)
388-
389- SET_SOURCE_FILES_PROPERTIES(python_interface.i
390- PROPERTIES CPLUSPLUS ON
391- SWIG_MODULE_NAME csnd)
392- SWIG_ADD_MODULE(csnd python python_interface.i)
393- SWIG_LINK_LIBRARIES(csnd ${swigpython_LIBS})
394-
395- set_target_properties(${SWIG_MODULE_csnd_REAL_NAME} PROPERTIES
396- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
397- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
398- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
399-
400- install(TARGETS ${SWIG_MODULE_csnd_REAL_NAME}
401- LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}"
402- ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}")
403- install(FILES ${BUILD_LIB_DIR}/csnd.py
404- DESTINATION ${PYTHON_MODULE_INSTALL_DIR})
405-
406- endif()
407-
408- if(BUILD_JAVA_INTERFACE)
409- # The java package needs this unset or it will litter us with .java files
410- unset(CMAKE_SWIG_OUTDIR)
411- INCLUDE_DIRECTORIES(${JNI_INCLUDE_DIRS})
412- set(swigjava_LIBS ${JNI_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd)
413-
414- SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES CPLUSPLUS ON)
415- SET_SOURCE_FILES_PROPERTIES(java_interface.i SWIG_FLAGS "-package" "csnd")
416- SWIG_ADD_MODULE(_jcsound java java_interface.i)
417- SWIG_LINK_LIBRARIES(_jcsound ${swigjava_LIBS})
418-
419- ADD_CUSTOM_COMMAND(TARGET _jcsound
420- POST_BUILD
421- COMMAND cmake -E make_directory ./csnd
422- COMMAND ${JAVA_COMPILE} *.java -d ./csnd
423- COMMAND ${JAVA_ARCHIVE} cf ../csnd.jar csnd
424- COMMENT "Building JAVA package csnd.jar")
425-
426- set_target_properties(_jcsound PROPERTIES
427- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
428- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
429- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
430-
431- install(TARGETS _jcsound
432- LIBRARY DESTINATION "${JAVA_MODULE_INSTALL_DIR}"
433- ARCHIVE DESTINATION "${JAVA_MODULE_INSTALL_DIR}")
434- install(FILES ${BUILD_LIB_DIR}/csnd.jar
435- DESTINATION ${JAVA_MODULE_INSTALL_DIR})
436-
437- endif()
438-
439- if(BUILD_LUA_INTERFACE)
440- INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
441-
442- set(swiglua_LIBS ${LUA_LIBRARIES} ${CSOUNDLIB} libcsnd)
443-
444- SET_SOURCE_FILES_PROPERTIES(lua_interface.i
445- PROPERTIES CPLUSPLUS ON
446- SWIG_MODULE_NAME luaCsnd)
447- SWIG_ADD_MODULE(luaCsnd lua lua_interface.i)
448- SWIG_LINK_LIBRARIES(luaCsnd ${swiglua_LIBS})
449-
450- set_target_properties(${SWIG_MODULE_luaCsnd_REAL_NAME} PROPERTIES
451- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
452- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
453- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
454- PREFIX "")
455-
456- install(TARGETS luaCsnd
457- LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}"
458- ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}")
459-
460- endif()
461-
462-endif()
463
464=== removed directory '.pc/1000-csoundac-cmake-bugfix.patch'
465=== removed directory '.pc/1000-csoundac-cmake-bugfix.patch/frontends'
466=== removed directory '.pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC'
467=== removed file '.pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt'
468--- .pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000
469+++ .pc/1000-csoundac-cmake-bugfix.patch/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000
470@@ -1,134 +0,0 @@
471-# Build CsoundAC
472-
473-option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON)
474-option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON)
475-option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON)
476-
477-
478-find_package(Boost)
479-find_library(MUSICXML_LIBRARY musicxml2)
480-find_package(FLTK)
481-find_package(SWIG)
482-find_package(PythonLibs)
483-find_package(Lua51)
484-
485-check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY)
486-check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND)
487-check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND)
488-
489-if(BUILD_CSOUND_AC)
490- include_directories(${CMAKE_HOME_DIRECTORY}/interfaces)
491- include_directories(${Boost_INCLUDE_DIRS})
492- include_directories(${FLTK_INCLUDE_DIR})
493- set(libcsoundac_SRCS
494- allegro.cpp
495- allegrord.cpp
496- allegroserial.cpp
497- allegrosmfrd.cpp
498- allegrosmfwr.cpp
499- allegrowr.cpp
500- Cell.cpp
501- ChordLindenmayer.cpp
502- cmake_install.cmake
503- Composition.cpp
504- Conversions.cpp
505- Counterpoint.cpp
506- CounterpointMain.cpp
507- CounterpointNode.cpp
508- Event.cpp
509- Hocket.cpp
510- ImageToScore.cpp
511- Lindenmayer.cpp
512- MCRM.cpp
513- mfmidi.cpp
514- Midifile.cpp
515- MusicModel.cpp
516- Node.cpp
517- Random.cpp
518- Rescale.cpp
519- Score.cpp
520- ScoreModel.cpp
521- ScoreNode.cpp
522- Sequence.cpp
523- Shell.cpp
524- Soundfile.cpp
525- StrangeAttractor.cpp
526- strparse.cpp
527- System.cpp
528- trace.cpp
529- Voicelead.cpp
530- VoiceleadingNode.cpp)
531-
532- add_library(libCsoundAC SHARED ${libcsoundac_SRCS})
533- set_target_properties(libCsoundAC PROPERTIES
534- LINK_INTERFACE_LIBRARIES ""
535- SOVERSION ${APIVERSION}
536- OUTPUT_NAME CsoundAC
537- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
538- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
539- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
540- )
541- target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY} ${CSOUNDLIB})
542- add_compiler_flags(-pthread TARGETS libCsoundAC)
543- add_compiler_flags(-pthread TARGETS libCsoundAC LINKER)
544-
545- if(MUSICXML_LIBRARY)
546- target_link_libraries(CsoundAC MUSICXML_LIBRARY)
547- endif()
548-
549- install(TARGETS libCsoundAC
550- LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
551- ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
552-
553- if(SWIG_FOUND)
554- include(${SWIG_USE_FILE})
555- set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR})
556- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
557- list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose")
558- endif()
559-
560- if(BUILD_CSOUND_AC_PYTHON_INTERFACE)
561- message(STATUS "Building CsoundAC Python interface")
562- find_package(PythonLibs)
563- include_directories(${PYTHON_INCLUDE_PATH})
564- set_source_files_properties(CsoundAC.i
565- PROPERTIES CPLUSPLUS ON
566- SWIG_MODULE_NAME CsoundAC)
567- swig_add_module(CsoundAC python CsoundAC.i)
568- swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES} libcsnd ${CSOUNDLIB})
569-
570- set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES
571- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
572- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
573- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
574-
575- install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME}
576- LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}"
577- ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}")
578- install(FILES ${BUILD_LIB_DIR}/CsoundAC.py
579- DESTINATION ${PYTHON_MODULE_INSTALL_DIR})
580- endif()
581-
582- if(BUILD_CSOUND_AC_LUA_INTERFACE)
583- message(STATUS "Building CsoundAC Lua interface")
584- find_package(Lua51)
585- include_directories(${LUA_INCLUDE_DIR})
586-
587- SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i
588- PROPERTIES CPLUSPLUS ON
589- SWIG_MODULE_NAME luaCsoundAC)
590- SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i)
591- SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES})
592-
593- set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES
594- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
595- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
596- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
597- PREFIX "")
598-
599- install(TARGETS luaCsoundAC
600- LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}"
601- ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}")
602- endif()
603-
604-endif()
605
606=== removed directory '.pc/2000-avoid-nonfree-scansyn-plugin.diff'
607=== removed directory '.pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes'
608=== removed file '.pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt'
609--- .pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt 2012-04-19 09:26:46 +0000
610+++ .pc/2000-avoid-nonfree-scansyn-plugin.diff/Opcodes/CMakeLists.txt 1970-01-01 00:00:00 +0000
611@@ -1,160 +0,0 @@
612-option(BUILD_CHUA_OPCODES "Build the chua opcodes (requires boost)" ON)
613-option(BUILD_DSSI_OPCODES "Build the DSSI opcodes" ON)
614-option(BUILD_FLUID_OPCODES "Build the fluidsynth opcodes" ON)
615-option(BUILD_JACK_OPCODES "Build the JACK related opcodes" ON)
616-option(BUILD_LINEAR_ALGEBRA_OPCODES "Build the Linear Algebra Opcodes" ON)
617-option(BUILD_OSC_OPCODES "Build the OSC Opcodes" ON)
618-option(BUILD_IMAGE_OPCODES "Build the image opcodes" ON)
619-option(BUILD_PYTHON_OPCODES "Build the Python opcodes" ON)
620-option(BUILD_LUA_OPCODES "Build the Lua opcodes" ON)
621-option(BUILD_WIIMOTE_OPCODES "Build the Lua opcodes" ON)
622-
623-find_package(Boost)
624-check_include_file(ladspa.h LADSPA_H)
625-check_include_file(fluidsynth.h FLUIDSYNTH_H)
626-find_library(JACK_LIBRARY jack)
627-find_library(JACKDMP_LIBRARY jackdmp)
628-check_include_file(jack/jack.h JACK_HEADER)
629-check_include_file_cxx(gmm/gmm.h GMM_HEADER)
630-check_include_file(lo/lo.h OSC_HEADER)
631-find_package(PNG)
632-find_package(PythonLibs)
633-find_package(Lua51)
634-check_include_file(wiiuse.h WIIUSE_H)
635-find_library(WIIUSE_LIB wiiuse)
636-
637-## OPCODE LIBS WITH NO EXTERNAL DEPENDENCIES ##
638-
639-make_plugin(mixer mixer.cpp)
640-make_plugin(signalflowgraph signalflowgraph.cpp)
641-
642-make_plugin(ampmidid ampmidid.cpp)
643-make_plugin(cs_date date.c)
644-make_plugin(system_call system_call.c)
645-make_plugin(doppler doppler.cpp)
646-make_plugin(fractalnoise tl/fractalnoise.cpp)
647-
648-make_plugin(fareygen fareygen.c)
649-
650-make_plugin(cellular cellular.c)
651-
652-# temporarily do not build on Windows until these opcodes are fixed
653-# to compile
654-if(NOT WIN32)
655- make_plugin(udprecv sockrecv.c)
656- make_plugin(udpsend socksend.c)
657-
658-endif()
659-
660-set(scansyn_SRCS
661- scansyn.c scansynx.c)
662-make_plugin(scansyn "${scansyn_SRCS}" m)
663-
664-if(UNIX)
665- make_plugin(control control.c)
666-endif()
667-
668-if(LINUX)
669- make_plugin(urandom urandom.c)
670-endif()
671-
672-## OPCODES WITH EXTERNAL DEPENDENCIES ##
673-
674-check_deps(BUILD_CHUA_OPCODES Boost_FOUND)
675-if(BUILD_CHUA_OPCODES)
676- include_directories(${Boost_INCLUDE_DIRS})
677- make_plugin(chua chua/ChuaOscillator.cpp)
678-endif()
679-
680-check_deps(BUILD_DSSI_OPCODES LADSPA_H)
681-if(BUILD_DSSI_OPCODES)
682- set(dssi_SRC dssi4cs/src/load.c dssi4cs/src/dssi4cs.c)
683- make_plugin(dssi4cs "${dssi_SRC}" dl)
684-endif()
685-
686-check_deps(BUILD_FLUID_OPCODES FLUIDSYNTH_H)
687-if(BUILD_FLUID_OPCODES)
688- make_plugin(fluidOpcodes fluidOpcodes/fluidOpcodes.cpp fluidsynth)
689-endif()
690-
691-set(JACK_LIB (JACK_LIBRARY OR JACKDMP_LIBRARY))
692-check_deps(BUILD_JACK_OPCODES JACK_HEADER JACK_LIB)
693-if(BUILD_JACK_OPCODES)
694- set(jack_LIBS ${PTHREAD_LIBRARY})
695- if(JACKDMP_LIBRARY)
696- list(APPEND jack_LIBS ${JACKDMP_LIBRARY})
697- else()
698- list(APPEND jack_LIBS ${JACK_LIBRARY})
699- endif()
700- make_plugin(jacko jacko.cpp "${jack_LIBS}")
701- make_plugin(jackTransport jackTransport.c "${jack_LIBS}")
702-endif()
703-
704-check_deps(BUILD_LINEAR_ALGEBRA_OPCODES GMM_HEADER)
705-if(BUILD_LINEAR_ALGEBRA_OPCODES)
706- make_plugin(linear_algebra linear_algebra.cpp)
707-endif()
708-
709-check_deps(BUILD_OSC_OPCODES OSC_HEADER)
710-if(BUILD_OSC_OPCODES)
711- make_plugin(osc OSC.c)
712- target_link_libraries(osc lo pthread)
713-endif()
714-
715-check_deps(BUILD_IMAGE_OPCODES PNG_FOUND)
716-if(BUILD_IMAGE_OPCODES)
717- include_directories(${PNG_INCLUDE_DIR})
718- make_plugin(image imageOpcodes.c "${PNG_LIBRARIES}")
719- add_compiler_flags(${PNG_DEFINITIONS} TARGETS image)
720-endif()
721-
722-check_deps(BUILD_PYTHON_OPCODES PYTHONLIBS_FOUND)
723-if(BUILD_PYTHON_OPCODES)
724- include_directories(${PYTHON_INCLUDE_DIRS})
725- make_plugin(py py/pythonopcodes.c ${PYTHON_LIBRARIES})
726-endif()
727-
728-check_deps(BUILD_LUA_OPCODES LUA51_FOUND)
729-if(BUILD_LUA_OPCODES)
730- include_directories(${LUA_INCLUDE_DIR})
731- make_plugin(LuaCsound LuaCsound.cpp ${LUA_LIBRARIES})
732-endif()
733-
734-check_deps(BUILD_WIIMOTE_OPCODES WIIUSE_H)
735-if(BUILD_WIIMOTE_OPCODES)
736- make_plugin(wiimote wiimote.c ${WIIUSE_LIB})
737-endif()
738-
739-
740-# OGG Opcode previously was built only for OLPC
741-#if(VORBISFILE_LIBRARY)
742-# set(vorbis_LIBS ${libcsound_LIBS} ${VORBISFILE_LIBRARY})
743-# make_plugin(ogg ogg.c "${vorbis_LIBS}")
744-#endif()
745-
746-
747-
748-#set(sfont_FLAGS "")
749-
750-#if(CMAKE_C_COMPILER MATCHES "gcc")
751-# set(sfont_FLAGS ${sfont_FLAGS} -fno-strict-aliasing)
752-#endif()
753-#if(BIG_ENDIAN)
754-# set(sfont_FLAGS ${sfont_FLAGS} -DWORDS_BIGENDIAN)
755-#endif()
756-#message(STATUS "Compiler flags used for sfont lib: ${sfont_FLAGS}")
757-#make_plugin(sfont sfont.c m)
758-#set_target_properties(sfont
759-# PROPERTIES COMPILER_FLAGS "${sfont_FLAGS}")
760-
761-
762-
763-
764-#if wiifound==1:
765-# WiiEnvironment = pluginEnvironment.Clone()
766-# makePlugin(WiiEnvironment, 'wiimote', ['wiimote.c'])
767-#if p5gfound==1:
768-# P5GEnvironment = pluginEnvironment.Clone()
769-# makePlugin(P5GEnvironment, 'p5g', ['p5glove.c'])
770-
771-add_subdirectory(stk)
772
773=== removed directory '.pc/2001-lua-link.diff'
774=== removed directory '.pc/2001-lua-link.diff/frontends'
775=== removed directory '.pc/2001-lua-link.diff/frontends/CsoundAC'
776=== removed file '.pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt'
777--- .pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt 2012-06-16 10:01:58 +0000
778+++ .pc/2001-lua-link.diff/frontends/CsoundAC/CMakeLists.txt 1970-01-01 00:00:00 +0000
779@@ -1,133 +0,0 @@
780-# Build CsoundAC
781-
782-option(BUILD_CSOUND_AC "Build CsoundAC extension module for Csound with algorithmic composition (needs C++ interface)" ON)
783-option(BUILD_CSOUND_AC_PYTHON_INTERFACE "Build the Csound AC Python interface" ON)
784-option(BUILD_CSOUND_AC_LUA_INTERFACE "Build the Csound AC Lua interface" ON)
785-
786-
787-find_package(Boost)
788-find_library(MUSICXML_LIBRARY musicxml2)
789-find_package(FLTK)
790-find_package(SWIG)
791-find_package(PythonLibs)
792-find_package(Lua51)
793-
794-check_deps(BUILD_CSOUND_AC Boost_FOUND BUILD_CXX_INTERFACE FLTK_FOUND LIBSNDFILE_LIBRARY)
795-check_deps(BUILD_CSOUND_AC_PYTHON_INTERFACE SWIG_FOUND PYTHONLIBS_FOUND)
796-check_deps(BUILD_CSOUND_AC_LUA_INTERFACE SWIG_FOUND LUA51_FOUND)
797-
798-if(BUILD_CSOUND_AC)
799- include_directories(${CMAKE_HOME_DIRECTORY}/interfaces)
800- include_directories(${Boost_INCLUDE_DIRS})
801- include_directories(${FLTK_INCLUDE_DIR})
802- set(libcsoundac_SRCS
803- allegro.cpp
804- allegrord.cpp
805- allegroserial.cpp
806- allegrosmfrd.cpp
807- allegrosmfwr.cpp
808- allegrowr.cpp
809- Cell.cpp
810- ChordLindenmayer.cpp
811- Composition.cpp
812- Conversions.cpp
813- Counterpoint.cpp
814- CounterpointMain.cpp
815- CounterpointNode.cpp
816- Event.cpp
817- Hocket.cpp
818- ImageToScore.cpp
819- Lindenmayer.cpp
820- MCRM.cpp
821- mfmidi.cpp
822- Midifile.cpp
823- MusicModel.cpp
824- Node.cpp
825- Random.cpp
826- Rescale.cpp
827- Score.cpp
828- ScoreModel.cpp
829- ScoreNode.cpp
830- Sequence.cpp
831- Shell.cpp
832- Soundfile.cpp
833- StrangeAttractor.cpp
834- strparse.cpp
835- System.cpp
836- trace.cpp
837- Voicelead.cpp
838- VoiceleadingNode.cpp)
839-
840- add_library(libCsoundAC SHARED ${libcsoundac_SRCS})
841- set_target_properties(libCsoundAC PROPERTIES
842- LINK_INTERFACE_LIBRARIES ""
843- SOVERSION ${APIVERSION}
844- OUTPUT_NAME CsoundAC
845- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
846- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
847- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
848- )
849- target_link_libraries(libCsoundAC libcsnd ${FLTK_LIBRARIES} ${LIBSNDFILE_LIBRARY} ${CSOUNDLIB})
850- add_compiler_flags(-pthread TARGETS libCsoundAC)
851- add_compiler_flags(-pthread TARGETS libCsoundAC LINKER)
852-
853- if(MUSICXML_LIBRARY)
854- target_link_libraries(CsoundAC MUSICXML_LIBRARY)
855- endif()
856-
857- install(TARGETS libCsoundAC
858- LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
859- ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
860-
861- if(SWIG_FOUND)
862- include(${SWIG_USE_FILE})
863- set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR})
864- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
865- list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose")
866- endif()
867-
868- if(BUILD_CSOUND_AC_PYTHON_INTERFACE)
869- message(STATUS "Building CsoundAC Python interface")
870- find_package(PythonLibs)
871- include_directories(${PYTHON_INCLUDE_PATH})
872- set_source_files_properties(CsoundAC.i
873- PROPERTIES CPLUSPLUS ON
874- SWIG_MODULE_NAME CsoundAC)
875- swig_add_module(CsoundAC python CsoundAC.i)
876- swig_link_libraries(CsoundAC libCsoundAC ${PYTHON_LIBRARIES} libcsnd ${CSOUNDLIB})
877-
878- set_target_properties(${SWIG_MODULE_CsoundAC_REAL_NAME} PROPERTIES
879- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
880- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
881- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
882-
883- install(TARGETS ${SWIG_MODULE_CsoundAC_REAL_NAME}
884- LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}"
885- ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}")
886- install(FILES ${BUILD_LIB_DIR}/CsoundAC.py
887- DESTINATION ${PYTHON_MODULE_INSTALL_DIR})
888- endif()
889-
890- if(BUILD_CSOUND_AC_LUA_INTERFACE)
891- message(STATUS "Building CsoundAC Lua interface")
892- find_package(Lua51)
893- include_directories(${LUA_INCLUDE_DIR})
894-
895- SET_SOURCE_FILES_PROPERTIES(luaCsoundAC.i
896- PROPERTIES CPLUSPLUS ON
897- SWIG_MODULE_NAME luaCsoundAC)
898- SWIG_ADD_MODULE(luaCsoundAC lua luaCsoundAC.i)
899- SWIG_LINK_LIBRARIES(luaCsoundAC libCsoundAC ${LUA_LIBRARIES})
900-
901- set_target_properties(${SWIG_MODULE_luaCsoundAC_REAL_NAME} PROPERTIES
902- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
903- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
904- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
905- PREFIX "")
906-
907- install(TARGETS luaCsoundAC
908- LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}"
909- ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}")
910- endif()
911-
912-endif()
913
914=== removed directory '.pc/2001-lua-link.diff/interfaces'
915=== removed file '.pc/2001-lua-link.diff/interfaces/CMakeLists.txt'
916--- .pc/2001-lua-link.diff/interfaces/CMakeLists.txt 2012-09-28 18:56:24 +0000
917+++ .pc/2001-lua-link.diff/interfaces/CMakeLists.txt 1970-01-01 00:00:00 +0000
918@@ -1,149 +0,0 @@
919-## Language bindings ##
920-
921-# C++ INTERFACE LIBRARY
922-
923-option(BUILD_CXX_INTERFACE "Build the C++ interface library" ON)
924-option(BUILD_PYTHON_INTERFACE "Build the Python interface (needs BUILD_CXX_INTERFACE)" ON)
925-option(BUILD_JAVA_INTERFACE "Build the Java interface (needs BUILD_CXX_INTERFACE)" ON)
926-option(BUILD_LUA_INTERFACE "Build the Lua interface (needs BUILD_CXX_INTERFACE)" ON)
927-
928-if(BUILD_CXX_INTERFACE)
929- message(STATUS "Building C++ interface library")
930- set(libcsnd_SRCS
931- CppSound.cpp
932- CsoundFile.cpp
933- Soundfile.cpp
934- csPerfThread.cpp
935- cs_glue.cpp
936- filebuilding.cpp)
937- set(libcsnd_LIBS ${LIBSNDFILE_LIBRARY})
938- set(libcsnd_CFLAGS "")
939- list(APPEND libcsnd_LIBS ${CSOUNDLIB})
940-
941- add_library(libcsnd SHARED ${libcsnd_SRCS})
942- target_link_libraries(libcsnd ${libcsnd_LIBS})
943- set_target_properties(libcsnd PROPERTIES
944- LINK_INTERFACE_LIBRARIES ""
945- SOVERSION ${APIVERSION}
946- OUTPUT_NAME csnd
947- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
948- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
949- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
950- )
951- if(${libcsnd_CFLAGS})
952- add_compiler_flags(${libcsnd_CFLAGS} TARGETS libcsnd)
953- endif()
954-
955- install(TARGETS libcsnd
956- LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}"
957- ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}")
958-
959-endif()
960-
961-
962-# SWIG INTERFACES
963-FIND_PACKAGE(SWIG)
964-FIND_PACKAGE(PythonLibs)
965-FIND_PACKAGE(JNI)
966-FIND_PACKAGE(Java)
967-FIND_PACKAGE(Lua51)
968-
969-check_deps(BUILD_PYTHON_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE PYTHONLIBS_FOUND)
970-check_deps(BUILD_JAVA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE JNI_FOUND JAVA_FOUND)
971-check_deps(BUILD_LUA_INTERFACE SWIG_FOUND BUILD_CXX_INTERFACE LUA51_FOUND)
972-
973-if(BUILD_PYTHON_INTERFACE OR BUILD_JAVA_INTERFACE OR BUILD_LUA_INTERFACE)
974-
975- include(${SWIG_USE_FILE})
976-
977- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
978-
979- set(CMAKE_SWIG_FLAGS ${libcsound_CFLAGS})
980- list(APPEND CMAKE_SWIG_FLAGS "-includeall" "-verbose")
981-
982- if(USE_DOUBLE)
983- list(APPEND CMAKE_SWIG_FLAGS "-DUSE_DOUBLE")
984- endif(USE_DOUBLE)
985-
986- set(CMAKE_SWIG_OUTDIR ${BUILD_LIB_DIR})
987-
988- if(BUILD_PYTHON_INTERFACE)
989- INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
990-
991- set(swigpython_LIBS ${PYTHON_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd)
992-
993- SET_SOURCE_FILES_PROPERTIES(python_interface.i
994- PROPERTIES CPLUSPLUS ON
995- SWIG_MODULE_NAME csnd)
996- SWIG_ADD_MODULE(csnd python python_interface.i)
997- SWIG_LINK_LIBRARIES(csnd ${swigpython_LIBS})
998-
999- set_target_properties(${SWIG_MODULE_csnd_REAL_NAME} PROPERTIES
1000- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1001- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1002- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
1003-
1004- install(TARGETS ${SWIG_MODULE_csnd_REAL_NAME}
1005- LIBRARY DESTINATION "${PYTHON_MODULE_INSTALL_DIR}"
1006- ARCHIVE DESTINATION "${PYTHON_MODULE_INSTALL_DIR}")
1007- install(FILES ${BUILD_LIB_DIR}/csnd.py
1008- DESTINATION ${PYTHON_MODULE_INSTALL_DIR})
1009-
1010- endif()
1011-
1012- if(BUILD_JAVA_INTERFACE)
1013- # The java package needs this unset or it will litter us with .java files
1014- unset(CMAKE_SWIG_OUTDIR)
1015- INCLUDE_DIRECTORIES(${JNI_INCLUDE_DIRS})
1016- set(swigjava_LIBS ${JNI_LIBRARIES} ${CSOUNDLIB} ${LIBSNDFILE_LIBRARY} libcsnd)
1017-
1018- list(APPEND javaSwigOptions -package csnd)
1019- SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES CPLUSPLUS ON)
1020- SET_SOURCE_FILES_PROPERTIES(java_interface.i PROPERTIES SWIG_FLAGS "${javaSwigOptions}")
1021- SWIG_ADD_MODULE(_jcsound java java_interface.i)
1022- SWIG_LINK_LIBRARIES(_jcsound ${swigjava_LIBS})
1023-
1024- ADD_CUSTOM_COMMAND(TARGET _jcsound
1025- POST_BUILD
1026- COMMAND cmake -E make_directory ./csnd
1027- COMMAND ${JAVA_COMPILE} *.java -d ./csnd
1028- COMMAND ${JAVA_ARCHIVE} cf ../csnd.jar csnd
1029- COMMENT "Building JAVA package csnd.jar")
1030-
1031- set_target_properties(_jcsound PROPERTIES
1032- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1033- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1034- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
1035-
1036- install(TARGETS _jcsound
1037- LIBRARY DESTINATION "${JAVA_MODULE_INSTALL_DIR}"
1038- ARCHIVE DESTINATION "${JAVA_MODULE_INSTALL_DIR}")
1039- install(FILES ${BUILD_LIB_DIR}/csnd.jar
1040- DESTINATION ${JAVA_MODULE_INSTALL_DIR})
1041-
1042- endif()
1043-
1044- if(BUILD_LUA_INTERFACE)
1045- INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
1046-
1047- set(swiglua_LIBS ${LUA_LIBRARIES} ${CSOUNDLIB} libcsnd)
1048-
1049- SET_SOURCE_FILES_PROPERTIES(lua_interface.i
1050- PROPERTIES CPLUSPLUS ON
1051- SWIG_MODULE_NAME luaCsnd)
1052- SWIG_ADD_MODULE(luaCsnd lua lua_interface.i)
1053- SWIG_LINK_LIBRARIES(luaCsnd ${swiglua_LIBS})
1054-
1055- set_target_properties(${SWIG_MODULE_luaCsnd_REAL_NAME} PROPERTIES
1056- RUNTIME_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1057- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1058- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
1059- PREFIX "")
1060-
1061- install(TARGETS luaCsnd
1062- LIBRARY DESTINATION "${LUA_MODULE_INSTALL_DIR}"
1063- ARCHIVE DESTINATION "${LUA_MODULE_INSTALL_DIR}")
1064-
1065- endif()
1066-
1067-endif()
1068
1069=== removed directory '.pc/2004-fix-gettext.diff'
1070=== removed directory '.pc/2004-fix-gettext.diff/Top'
1071=== removed file '.pc/2004-fix-gettext.diff/Top/getstring.c'
1072--- .pc/2004-fix-gettext.diff/Top/getstring.c 2012-04-19 09:26:46 +0000
1073+++ .pc/2004-fix-gettext.diff/Top/getstring.c 1970-01-01 00:00:00 +0000
1074@@ -1,168 +0,0 @@
1075-/*
1076- getstring.c:
1077-
1078- Copyright (C) 1999 John ffitch
1079- Jan 27 2005: replaced with new implementation by Istvan Varga
1080- Dec 25 2007: added GNU gettext implementation as alternative -- John ffitch
1081-
1082- This file is part of Csound.
1083-
1084- The Csound Library is free software; you can redistribute it
1085- and/or modify it under the terms of the GNU Lesser General Public
1086- License as published by the Free Software Foundation; either
1087- version 2.1 of the License, or (at your option) any later version.
1088-
1089- Csound is distributed in the hope that it will be useful,
1090- but WITHOUT ANY WARRANTY; without even the implied warranty of
1091- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1092- GNU Lesser General Public License for more details.
1093-
1094- You should have received a copy of the GNU Lesser General Public
1095- License along with Csound; if not, write to the Free Software
1096- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1097- 02111-1307 USA
1098-*/
1099-
1100-#include "csoundCore.h"
1101-
1102-#ifdef HAVE_DIRENT_H
1103-# include <sys/types.h>
1104-# include <dirent.h>
1105-# if 0 && defined(__MACH__)
1106-typedef void* DIR;
1107-DIR opendir(const char *);
1108-struct dirent *readdir(DIR*);
1109-int closedir(DIR*);
1110-# endif
1111-#endif
1112-
1113-#include "namedins.h"
1114-
1115-#define CSSTRNGS_VERSION 0x2000
1116-#include <locale.h>
1117-#ifndef GNU_GETTEXT
1118-void init_getstring(void)
1119-{
1120- setlocale(LC_NUMERIC, "C"); /* Ensure C syntax */
1121-}
1122-PUBLIC char *csoundLocalizeString(const char *s)
1123-{
1124- return (char*)s;
1125-}
1126-/* This stub is needed for backwards compatibility */
1127-PUBLIC void csoundSetLanguage(cslanguage_t lang_code)
1128-{
1129- return;
1130-}
1131-#else
1132-void init_getstring(void)
1133-{
1134-/* s = csoundGetEnv(NULL, "CS_LANG"); */
1135-/* if (s == NULL) /\* Default locale *\/ */
1136-/* setlocale (LC_MESSAGES, ""); */
1137-/* else */
1138-/* setlocale (LC_MESSAGES, s); /\* Set to particular value *\/ */
1139-/* textdomain("csound5"); */ /* This is not needed when using dgettext */
1140- /* bind_textdomain_codeset("csound5", "UTF-8"); */
1141-#ifdef never
1142- /* This is experimental; where should these be?? */
1143- bindtextdomain("csound5", "/home/jpff/Sourceforge/csound/csound5/po");
1144-#endif
1145- setlocale(LC_NUMERIC, "C"); /* Ensure C syntax */
1146-}
1147-
1148-PUBLIC char *csoundLocalizeString(const char *s)
1149-{
1150- return dgettext("csound5", s);
1151-}
1152-
1153-static const char *language_names[] = {"", /* Default */
1154- "af", /* CSLANGUAGE_AFRIKAANS */
1155- "sq", /* CSLANGUAGE_ALBANIAN */
1156- "ar", /* CSLANGUAGE_ARABIC */
1157- "hy", /* CSLANGUAGE_ARMENIAN */
1158- "as", /* CSLANGUAGE_ASSAMESE */
1159- "az", /* CSLANGUAGE_AZERI */
1160- "eu", /* CSLANGUAGE_BASQUE */
1161- "be", /* CSLANGUAGE_BELARUSIAN */
1162- "bn", /* CSLANGUAGE_BENGALI */
1163- "bg", /* CSLANGUAGE_BULGARIAN */
1164- "ca", /* CSLANGUAGE_CATALAN */
1165- "zh", /* CSLANGUAGE_CHINESE */
1166- "hr", /* CSLANGUAGE_CROATIAN */
1167- "cs", /* CSLANGUAGE_CZECH */
1168- "da", /* CSLANGUAGE_DANISH */
1169- "nl", /* CSLANGUAGE_DUTCH */
1170- "en_GB",
1171- "en_US",
1172- "et", /* CSLANGUAGE_ESTONIAN */
1173- "fo", /* CSLANGUAGE_FAEROESE */
1174- "fa", /* CSLANGUAGE_FARSI */
1175- "fi", /* CSLANGUAGE_FINNISH */
1176- "fr",
1177- "ka", /* CSLANGUAGE_GEORGIAN */
1178- "de",
1179- "el", /* CSLANGUAGE_GREEK */
1180- "gu", /* CSLANGUAGE_GUJARATI */
1181- "he", /* CSLANGUAGE_HEBREW */
1182- "hi", /* CSLANGUAGE_HINDI */
1183- "hu", /* CSLANGUAGE_HUNGARIAN */
1184- "is", /* CSLANGUAGE_ICELANDIC */
1185- "id", /* CSLANGUAGE_INDONESIAN */
1186- "it", /* CSLANGUAGE_ITALIAN */
1187- "ja", /* CSLANGUAGE_JAPANESE */
1188- "kn", /* CSLANGUAGE_KANNADA */
1189- "ks", /* CSLANGUAGE_KASHMIRI */
1190- "kk", /* CSLANGUAGE_KAZAK */
1191- "kok", /* CSLANGUAGE_KONKANI */
1192- "ko", /* CSLANGUAGE_KOREAN */
1193- "lv", /* CSLANGUAGE_LATVIAN */
1194- "lt", /* CSLANGUAGE_LITHUANIAN */
1195- "mk", /* CSLANGUAGE_MACEDONIAN */
1196- "ms", /* CSLANGUAGE_MALAY */
1197- "ml", /* CSLANGUAGE_MALAYALAM */
1198- "mni", /* CSLANGUAGE_MANIPURI */
1199- "mr", /* CSLANGUAGE_MARATHI */
1200- "ne", /* CSLANGUAGE_NEPALI */
1201- "no", /* CSLANGUAGE_NORWEGIAN */
1202- "or", /* CSLANGUAGE_ORIYA */
1203- "pl", /* CSLANGUAGE_POLISH */
1204- "pt", /* CSLANGUAGE_PORTUGUESE */
1205- "pa", /* CSLANGUAGE_PUNJABI */
1206- "ro",
1207- "ru", /* CSLANGUAGE_RUSSIAN */
1208- "sa", /* CSLANGUAGE_SANSKRIT */
1209- "sr", /* CSLANGUAGE_SERBIAN */
1210- "sd", /* CSLANGUAGE_SINDHI */
1211- "sk", /* CSLANGUAGE_SLOVAK */
1212- "sl", /* CSLANGUAGE_SLOVENIAN */
1213- "es",
1214- "sw", /* CSLANGUAGE_SWAHILI */
1215- "sv", /* CSLANGUAGE_SWEDISH */
1216- "ta", /* CSLANGUAGE_TAMIL */
1217- "tt", /* CSLANGUAGE_TATAR */
1218- "te", /* CSLANGUAGE_TELUGU */
1219- "th", /* CSLANGUAGE_THAI */
1220- "tr", /* CSLANGUAGE_TURKISH */
1221- "uk", /* CSLANGUAGE_UKRAINIAN */
1222- "ur", /* CSLANGUAGE_URDU */
1223- "uz", /* CSLANGUAGE_UZBEK */
1224- "vi", /* CSLANGUAGE_VIETNAMES */
1225- "es_CO", /* COLUMBIAN */
1226- };
1227-
1228-PUBLIC void csoundSetLanguage(cslanguage_t lang_code)
1229-{
1230- const char *name;
1231- if (lang_code == CSLANGUAGE_DEFAULT)
1232- fprintf(stderr, "Localisation of messages is disabled, using "
1233- "default language.\n");
1234- else {
1235- fprintf(stderr, "Setting language of messages to %s ...\n",
1236- name=language_names[(int) lang_code]);
1237- setlocale(LC_MESSAGES, name);
1238- }
1239- return;
1240-}
1241-#endif
1242-
1243
1244=== removed directory '.pc/2007-apidoc-dotpath.patch'
1245=== removed file '.pc/2007-apidoc-dotpath.patch/Doxyfile'
1246--- .pc/2007-apidoc-dotpath.patch/Doxyfile 2012-04-19 09:26:46 +0000
1247+++ .pc/2007-apidoc-dotpath.patch/Doxyfile 1970-01-01 00:00:00 +0000
1248@@ -1,1522 +0,0 @@
1249-# Doxyfile 1.5.8
1250-
1251-# This file describes the settings to be used by the documentation system
1252-# doxygen (www.doxygen.org) for a project
1253-#
1254-# All text after a hash (#) is considered a comment and will be ignored
1255-# The format is:
1256-# TAG = value [value, ...]
1257-# For lists items can also be appended using:
1258-# TAG += value [value, ...]
1259-# Values that contain spaces should be placed between quotes (" ")
1260-
1261-#---------------------------------------------------------------------------
1262-# Project related configuration options
1263-#---------------------------------------------------------------------------
1264-
1265-# This tag specifies the encoding used for all characters in the config file
1266-# that follow. The default is UTF-8 which is also the encoding used for all
1267-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
1268-# iconv built into libc) for the transcoding. See
1269-# http://www.gnu.org/software/libiconv for the list of possible encodings.
1270-
1271-DOXYFILE_ENCODING = UTF-8
1272-
1273-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
1274-# by quotes) that should identify the project.
1275-
1276-PROJECT_NAME = "Csound and CsoundAC API"
1277-
1278-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
1279-# This could be handy for archiving the generated documentation or
1280-# if some version control system is used.
1281-
1282-PROJECT_NUMBER = 5.17
1283-
1284-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
1285-# base path where the generated documentation will be put.
1286-# If a relative path is entered, it will be relative to the location
1287-# where doxygen was started. If left blank the current directory will be used.
1288-
1289-OUTPUT_DIRECTORY = doc
1290-
1291-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
1292-# 4096 sub-directories (in 2 levels) under the output directory of each output
1293-# format and will distribute the generated files over these directories.
1294-# Enabling this option can be useful when feeding doxygen a huge amount of
1295-# source files, where putting all generated files in the same directory would
1296-# otherwise cause performance problems for the file system.
1297-
1298-CREATE_SUBDIRS = NO
1299-
1300-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
1301-# documentation generated by doxygen is written. Doxygen will use this
1302-# information to generate all constant output in the proper language.
1303-# The default language is English, other supported languages are:
1304-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
1305-# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
1306-# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
1307-# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
1308-# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
1309-# Spanish, Swedish, and Ukrainian.
1310-
1311-OUTPUT_LANGUAGE = English
1312-
1313-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
1314-# include brief member descriptions after the members that are listed in
1315-# the file and class documentation (similar to JavaDoc).
1316-# Set to NO to disable this.
1317-
1318-BRIEF_MEMBER_DESC = YES
1319-
1320-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
1321-# the brief description of a member or function before the detailed description.
1322-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
1323-# brief descriptions will be completely suppressed.
1324-
1325-REPEAT_BRIEF = YES
1326-
1327-# This tag implements a quasi-intelligent brief description abbreviator
1328-# that is used to form the text in various listings. Each string
1329-# in this list, if found as the leading text of the brief description, will be
1330-# stripped from the text and the result after processing the whole list, is
1331-# used as the annotated text. Otherwise, the brief description is used as-is.
1332-# If left blank, the following values are used ("$name" is automatically
1333-# replaced with the name of the entity): "The $name class" "The $name widget"
1334-# "The $name file" "is" "provides" "specifies" "contains"
1335-# "represents" "a" "an" "the"
1336-
1337-ABBREVIATE_BRIEF = NO
1338-
1339-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
1340-# Doxygen will generate a detailed section even if there is only a brief
1341-# description.
1342-
1343-ALWAYS_DETAILED_SEC = YES
1344-
1345-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
1346-# inherited members of a class in the documentation of that class as if those
1347-# members were ordinary class members. Constructors, destructors and assignment
1348-# operators of the base classes will not be shown.
1349-
1350-INLINE_INHERITED_MEMB = YES
1351-
1352-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
1353-# path before files name in the file list and in the header files. If set
1354-# to NO the shortest path that makes the file name unique will be used.
1355-
1356-FULL_PATH_NAMES = YES
1357-
1358-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
1359-# can be used to strip a user-defined part of the path. Stripping is
1360-# only done if one of the specified strings matches the left-hand part of
1361-# the path. The tag can be used to show relative paths in the file list.
1362-# If left blank the directory from which doxygen is run is used as the
1363-# path to strip.
1364-
1365-STRIP_FROM_PATH =
1366-
1367-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
1368-# the path mentioned in the documentation of a class, which tells
1369-# the reader which header file to include in order to use a class.
1370-# If left blank only the name of the header file containing the class
1371-# definition is used. Otherwise one should specify the include paths that
1372-# are normally passed to the compiler using the -I flag.
1373-
1374-STRIP_FROM_INC_PATH =
1375-
1376-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
1377-# (but less readable) file names. This can be useful is your file systems
1378-# doesn't support long names like on DOS, Mac, or CD-ROM.
1379-
1380-SHORT_NAMES = NO
1381-
1382-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
1383-# will interpret the first line (until the first dot) of a JavaDoc-style
1384-# comment as the brief description. If set to NO, the JavaDoc
1385-# comments will behave just like regular Qt-style comments
1386-# (thus requiring an explicit @brief command for a brief description.)
1387-
1388-JAVADOC_AUTOBRIEF = YES
1389-
1390-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
1391-# interpret the first line (until the first dot) of a Qt-style
1392-# comment as the brief description. If set to NO, the comments
1393-# will behave just like regular Qt-style comments (thus requiring
1394-# an explicit \brief command for a brief description.)
1395-
1396-QT_AUTOBRIEF = NO
1397-
1398-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
1399-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
1400-# comments) as a brief description. This used to be the default behaviour.
1401-# The new default is to treat a multi-line C++ comment block as a detailed
1402-# description. Set this tag to YES if you prefer the old behaviour instead.
1403-
1404-MULTILINE_CPP_IS_BRIEF = NO
1405-
1406-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
1407-# member inherits the documentation from any documented member that it
1408-# re-implements.
1409-
1410-INHERIT_DOCS = YES
1411-
1412-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
1413-# a new page for each member. If set to NO, the documentation of a member will
1414-# be part of the file/class/namespace that contains it.
1415-
1416-SEPARATE_MEMBER_PAGES = NO
1417-
1418-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
1419-# Doxygen uses this value to replace tabs by spaces in code fragments.
1420-
1421-TAB_SIZE = 4
1422-
1423-# This tag can be used to specify a number of aliases that acts
1424-# as commands in the documentation. An alias has the form "name=value".
1425-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
1426-# put the command \sideeffect (or @sideeffect) in the documentation, which
1427-# will result in a user-defined paragraph with heading "Side Effects:".
1428-# You can put \n's in the value part of an alias to insert newlines.
1429-
1430-ALIASES =
1431-
1432-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
1433-# sources only. Doxygen will then generate output that is more tailored for C.
1434-# For instance, some of the names that are used will be different. The list
1435-# of all members will be omitted, etc.
1436-
1437-OPTIMIZE_OUTPUT_FOR_C = YES
1438-
1439-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
1440-# sources only. Doxygen will then generate output that is more tailored for
1441-# Java. For instance, namespaces will be presented as packages, qualified
1442-# scopes will look different, etc.
1443-
1444-OPTIMIZE_OUTPUT_JAVA = NO
1445-
1446-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
1447-# sources only. Doxygen will then generate output that is more tailored for
1448-# Fortran.
1449-
1450-OPTIMIZE_FOR_FORTRAN = NO
1451-
1452-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
1453-# sources. Doxygen will then generate output that is tailored for
1454-# VHDL.
1455-
1456-OPTIMIZE_OUTPUT_VHDL = NO
1457-
1458-# Doxygen selects the parser to use depending on the extension of the files it parses.
1459-# With this tag you can assign which parser to use for a given extension.
1460-# Doxygen has a built-in mapping, but you can override or extend it using this tag.
1461-# The format is ext=language, where ext is a file extension, and language is one of
1462-# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
1463-# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
1464-# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
1465-# use: inc=Fortran f=C
1466-
1467-EXTENSION_MAPPING = YES
1468-
1469-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
1470-# to include (a tag file for) the STL sources as input, then you should
1471-# set this tag to YES in order to let doxygen match functions declarations and
1472-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
1473-# func(std::string) {}). This also make the inheritance and collaboration
1474-# diagrams that involve STL classes more complete and accurate.
1475-
1476-BUILTIN_STL_SUPPORT = YES
1477-
1478-# If you use Microsoft's C++/CLI language, you should set this option to YES to
1479-# enable parsing support.
1480-
1481-CPP_CLI_SUPPORT = NO
1482-
1483-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
1484-# Doxygen will parse them like normal C++ but will assume all classes use public
1485-# instead of private inheritance when no explicit protection keyword is present.
1486-
1487-SIP_SUPPORT = NO
1488-
1489-# For Microsoft's IDL there are propget and propput attributes to indicate getter
1490-# and setter methods for a property. Setting this option to YES (the default)
1491-# will make doxygen to replace the get and set methods by a property in the
1492-# documentation. This will only work if the methods are indeed getting or
1493-# setting a simple type. If this is not the case, or you want to show the
1494-# methods anyway, you should set this option to NO.
1495-
1496-IDL_PROPERTY_SUPPORT = YES
1497-
1498-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
1499-# tag is set to YES, then doxygen will reuse the documentation of the first
1500-# member in the group (if any) for the other members of the group. By default
1501-# all members of a group must be documented explicitly.
1502-
1503-DISTRIBUTE_GROUP_DOC = NO
1504-
1505-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
1506-# the same type (for instance a group of public functions) to be put as a
1507-# subgroup of that type (e.g. under the Public Functions section). Set it to
1508-# NO to prevent subgrouping. Alternatively, this can be done per class using
1509-# the \nosubgrouping command.
1510-
1511-SUBGROUPING = YES
1512-
1513-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
1514-# is documented as struct, union, or enum with the name of the typedef. So
1515-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
1516-# with name TypeT. When disabled the typedef will appear as a member of a file,
1517-# namespace, or class. And the struct will be named TypeS. This can typically
1518-# be useful for C code in case the coding convention dictates that all compound
1519-# types are typedef'ed and only the typedef is referenced, never the tag name.
1520-
1521-TYPEDEF_HIDES_STRUCT = NO
1522-
1523-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
1524-# determine which symbols to keep in memory and which to flush to disk.
1525-# When the cache is full, less often used symbols will be written to disk.
1526-# For small to medium size projects (<1000 input files) the default value is
1527-# probably good enough. For larger projects a too small cache size can cause
1528-# doxygen to be busy swapping symbols to and from disk most of the time
1529-# causing a significant performance penality.
1530-# If the system has enough physical memory increasing the cache will improve the
1531-# performance by keeping more symbols in memory. Note that the value works on
1532-# a logarithmic scale so increasing the size by one will rougly double the
1533-# memory usage. The cache size is given by this formula:
1534-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
1535-# corresponding to a cache size of 2^16 = 65536 symbols
1536-
1537-SYMBOL_CACHE_SIZE = 0
1538-
1539-#---------------------------------------------------------------------------
1540-# Build related configuration options
1541-#---------------------------------------------------------------------------
1542-
1543-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
1544-# documentation are documented, even if no documentation was available.
1545-# Private class members and static file members will be hidden unless
1546-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
1547-
1548-EXTRACT_ALL = YES
1549-
1550-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
1551-# will be included in the documentation.
1552-
1553-EXTRACT_PRIVATE = YES
1554-
1555-# If the EXTRACT_STATIC tag is set to YES all static members of a file
1556-# will be included in the documentation.
1557-
1558-EXTRACT_STATIC = YES
1559-
1560-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
1561-# defined locally in source files will be included in the documentation.
1562-# If set to NO only classes defined in header files are included.
1563-
1564-EXTRACT_LOCAL_CLASSES = YES
1565-
1566-# This flag is only useful for Objective-C code. When set to YES local
1567-# methods, which are defined in the implementation section but not in
1568-# the interface are included in the documentation.
1569-# If set to NO (the default) only methods in the interface are included.
1570-
1571-EXTRACT_LOCAL_METHODS = NO
1572-
1573-# If this flag is set to YES, the members of anonymous namespaces will be
1574-# extracted and appear in the documentation as a namespace called
1575-# 'anonymous_namespace{file}', where file will be replaced with the base
1576-# name of the file that contains the anonymous namespace. By default
1577-# anonymous namespace are hidden.
1578-
1579-EXTRACT_ANON_NSPACES = NO
1580-
1581-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
1582-# undocumented members of documented classes, files or namespaces.
1583-# If set to NO (the default) these members will be included in the
1584-# various overviews, but no documentation section is generated.
1585-# This option has no effect if EXTRACT_ALL is enabled.
1586-
1587-HIDE_UNDOC_MEMBERS = NO
1588-
1589-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
1590-# undocumented classes that are normally visible in the class hierarchy.
1591-# If set to NO (the default) these classes will be included in the various
1592-# overviews. This option has no effect if EXTRACT_ALL is enabled.
1593-
1594-HIDE_UNDOC_CLASSES = NO
1595-
1596-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
1597-# friend (class|struct|union) declarations.
1598-# If set to NO (the default) these declarations will be included in the
1599-# documentation.
1600-
1601-HIDE_FRIEND_COMPOUNDS = NO
1602-
1603-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
1604-# documentation blocks found inside the body of a function.
1605-# If set to NO (the default) these blocks will be appended to the
1606-# function's detailed documentation block.
1607-
1608-HIDE_IN_BODY_DOCS = NO
1609-
1610-# The INTERNAL_DOCS tag determines if documentation
1611-# that is typed after a \internal command is included. If the tag is set
1612-# to NO (the default) then the documentation will be excluded.
1613-# Set it to YES to include the internal documentation.
1614-
1615-INTERNAL_DOCS = NO
1616-
1617-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
1618-# file names in lower-case letters. If set to YES upper-case letters are also
1619-# allowed. This is useful if you have classes or files whose names only differ
1620-# in case and if your file system supports case sensitive file names. Windows
1621-# and Mac users are advised to set this option to NO.
1622-
1623-CASE_SENSE_NAMES = YES
1624-
1625-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
1626-# will show members with their full class and namespace scopes in the
1627-# documentation. If set to YES the scope will be hidden.
1628-
1629-HIDE_SCOPE_NAMES = NO
1630-
1631-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
1632-# will put a list of the files that are included by a file in the documentation
1633-# of that file.
1634-
1635-SHOW_INCLUDE_FILES = YES
1636-
1637-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
1638-# is inserted in the documentation for inline members.
1639-
1640-INLINE_INFO = YES
1641-
1642-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
1643-# will sort the (detailed) documentation of file and class members
1644-# alphabetically by member name. If set to NO the members will appear in
1645-# declaration order.
1646-
1647-SORT_MEMBER_DOCS = YES
1648-
1649-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
1650-# brief documentation of file, namespace and class members alphabetically
1651-# by member name. If set to NO (the default) the members will appear in
1652-# declaration order.
1653-
1654-SORT_BRIEF_DOCS = YES
1655-
1656-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
1657-# hierarchy of group names into alphabetical order. If set to NO (the default)
1658-# the group names will appear in their defined order.
1659-
1660-SORT_GROUP_NAMES = YES
1661-
1662-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
1663-# sorted by fully-qualified names, including namespaces. If set to
1664-# NO (the default), the class list will be sorted only by class name,
1665-# not including the namespace part.
1666-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
1667-# Note: This option applies only to the class list, not to the
1668-# alphabetical list.
1669-
1670-SORT_BY_SCOPE_NAME = YES
1671-
1672-# The GENERATE_TODOLIST tag can be used to enable (YES) or
1673-# disable (NO) the todo list. This list is created by putting \todo
1674-# commands in the documentation.
1675-
1676-GENERATE_TODOLIST = YES
1677-
1678-# The GENERATE_TESTLIST tag can be used to enable (YES) or
1679-# disable (NO) the test list. This list is created by putting \test
1680-# commands in the documentation.
1681-
1682-GENERATE_TESTLIST = YES
1683-
1684-# The GENERATE_BUGLIST tag can be used to enable (YES) or
1685-# disable (NO) the bug list. This list is created by putting \bug
1686-# commands in the documentation.
1687-
1688-GENERATE_BUGLIST = YES
1689-
1690-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
1691-# disable (NO) the deprecated list. This list is created by putting
1692-# \deprecated commands in the documentation.
1693-
1694-GENERATE_DEPRECATEDLIST= YES
1695-
1696-# The ENABLED_SECTIONS tag can be used to enable conditional
1697-# documentation sections, marked by \if sectionname ... \endif.
1698-
1699-ENABLED_SECTIONS =
1700-
1701-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
1702-# the initial value of a variable or define consists of for it to appear in
1703-# the documentation. If the initializer consists of more lines than specified
1704-# here it will be hidden. Use a value of 0 to hide initializers completely.
1705-# The appearance of the initializer of individual variables and defines in the
1706-# documentation can be controlled using \showinitializer or \hideinitializer
1707-# command in the documentation regardless of this setting.
1708-
1709-MAX_INITIALIZER_LINES = 30
1710-
1711-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
1712-# at the bottom of the documentation of classes and structs. If set to YES the
1713-# list will mention the files that were used to generate the documentation.
1714-
1715-SHOW_USED_FILES = NO
1716-
1717-# If the sources in your project are distributed over multiple directories
1718-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
1719-# in the documentation. The default is NO.
1720-
1721-SHOW_DIRECTORIES = YES
1722-
1723-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
1724-# This will remove the Files entry from the Quick Index and from the
1725-# Folder Tree View (if specified). The default is YES.
1726-
1727-SHOW_FILES = YES
1728-
1729-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
1730-# Namespaces page.
1731-# This will remove the Namespaces entry from the Quick Index
1732-# and from the Folder Tree View (if specified). The default is YES.
1733-
1734-SHOW_NAMESPACES = YES
1735-
1736-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
1737-# doxygen should invoke to get the current version for each file (typically from
1738-# the version control system). Doxygen will invoke the program by executing (via
1739-# popen()) the command <command> <input-file>, where <command> is the value of
1740-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
1741-# provided by doxygen. Whatever the program writes to standard output
1742-# is used as the file version. See the manual for examples.
1743-
1744-FILE_VERSION_FILTER =
1745-
1746-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
1747-# doxygen. The layout file controls the global structure of the generated output files
1748-# in an output format independent way. The create the layout file that represents
1749-# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
1750-# file name after the option, if omitted DoxygenLayout.xml will be used as the name
1751-# of the layout file.
1752-
1753-LAYOUT_FILE =
1754-
1755-#---------------------------------------------------------------------------
1756-# configuration options related to warning and progress messages
1757-#---------------------------------------------------------------------------
1758-
1759-# The QUIET tag can be used to turn on/off the messages that are generated
1760-# by doxygen. Possible values are YES and NO. If left blank NO is used.
1761-
1762-QUIET = NO
1763-
1764-# The WARNINGS tag can be used to turn on/off the warning messages that are
1765-# generated by doxygen. Possible values are YES and NO. If left blank
1766-# NO is used.
1767-
1768-WARNINGS = YES
1769-
1770-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
1771-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
1772-# automatically be disabled.
1773-
1774-WARN_IF_UNDOCUMENTED = YES
1775-
1776-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
1777-# potential errors in the documentation, such as not documenting some
1778-# parameters in a documented function, or documenting parameters that
1779-# don't exist or using markup commands wrongly.
1780-
1781-WARN_IF_DOC_ERROR = YES
1782-
1783-# This WARN_NO_PARAMDOC option can be abled to get warnings for
1784-# functions that are documented, but have no documentation for their parameters
1785-# or return value. If set to NO (the default) doxygen will only warn about
1786-# wrong or incomplete parameter documentation, but not about the absence of
1787-# documentation.
1788-
1789-WARN_NO_PARAMDOC = NO
1790-
1791-# The WARN_FORMAT tag determines the format of the warning messages that
1792-# doxygen can produce. The string should contain the $file, $line, and $text
1793-# tags, which will be replaced by the file and line number from which the
1794-# warning originated and the warning text. Optionally the format may contain
1795-# $version, which will be replaced by the version of the file (if it could
1796-# be obtained via FILE_VERSION_FILTER)
1797-
1798-WARN_FORMAT = "$file:$line: $text"
1799-
1800-# The WARN_LOGFILE tag can be used to specify a file to which warning
1801-# and error messages should be written. If left blank the output is written
1802-# to stderr.
1803-
1804-WARN_LOGFILE =
1805-
1806-#---------------------------------------------------------------------------
1807-# configuration options related to the input files
1808-#---------------------------------------------------------------------------
1809-
1810-# The INPUT tag can be used to specify the files and/or directories that contain
1811-# documented source files. You may enter file names like "myfile.cpp" or
1812-# directories like "/usr/src/myproject". Separate the files or directories
1813-# with spaces.
1814-
1815-INPUT = H \
1816- interfaces \
1817- frontends/CsoundVST \
1818- frontends/CsoundAC \
1819- frontends/tclcsound
1820-
1821-# This tag can be used to specify the character encoding of the source files
1822-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
1823-# also the default input encoding. Doxygen uses libiconv (or the iconv built
1824-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
1825-# the list of possible encodings.
1826-
1827-INPUT_ENCODING = UTF-8
1828-
1829-# If the value of the INPUT tag contains directories, you can use the
1830-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
1831-# and *.h) to filter out the source-files in the directories. If left
1832-# blank the following patterns are tested:
1833-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
1834-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
1835-
1836-FILE_PATTERNS = *.h \
1837- *.hh \
1838- *.hxx \
1839- *.hpp \
1840- *.h++
1841-
1842-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
1843-# should be searched for input files as well. Possible values are YES and NO.
1844-# If left blank NO is used.
1845-
1846-RECURSIVE = NO
1847-
1848-# The EXCLUDE tag can be used to specify files and/or directories that should
1849-# excluded from the INPUT source files. This way you can easily exclude a
1850-# subdirectory from a directory tree whose root is specified with the INPUT tag.
1851-
1852-EXCLUDE =
1853-
1854-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
1855-# directories that are symbolic links (a Unix filesystem feature) are excluded
1856-# from the input.
1857-
1858-EXCLUDE_SYMLINKS = NO
1859-
1860-# If the value of the INPUT tag contains directories, you can use the
1861-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
1862-# certain files from those directories. Note that the wildcards are matched
1863-# against the file with absolute path, so to exclude all test directories
1864-# for example use the pattern */test/*
1865-
1866-EXCLUDE_PATTERNS = AEff* \
1867- aeff* \
1868- AudioEff* \
1869- audioeff* \
1870- *wrap*
1871-
1872-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
1873-# (namespaces, classes, functions, etc.) that should be excluded from the
1874-# output. The symbol name can be a fully qualified name, a word, or if the
1875-# wildcard * is used, a substring. Examples: ANamespace, AClass,
1876-# AClass::ANamespace, ANamespace::*Test
1877-
1878-EXCLUDE_SYMBOLS =
1879-
1880-# The EXAMPLE_PATH tag can be used to specify one or more files or
1881-# directories that contain example code fragments that are included (see
1882-# the \include command).
1883-
1884-EXAMPLE_PATH =
1885-
1886-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
1887-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
1888-# and *.h) to filter out the source-files in the directories. If left
1889-# blank all files are included.
1890-
1891-EXAMPLE_PATTERNS =
1892-
1893-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
1894-# searched for input files to be used with the \include or \dontinclude
1895-# commands irrespective of the value of the RECURSIVE tag.
1896-# Possible values are YES and NO. If left blank NO is used.
1897-
1898-EXAMPLE_RECURSIVE = NO
1899-
1900-# The IMAGE_PATH tag can be used to specify one or more files or
1901-# directories that contain image that are included in the documentation (see
1902-# the \image command).
1903-
1904-IMAGE_PATH =
1905-
1906-# The INPUT_FILTER tag can be used to specify a program that doxygen should
1907-# invoke to filter for each input file. Doxygen will invoke the filter program
1908-# by executing (via popen()) the command <filter> <input-file>, where <filter>
1909-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
1910-# input file. Doxygen will then use the output that the filter program writes
1911-# to standard output.
1912-# If FILTER_PATTERNS is specified, this tag will be
1913-# ignored.
1914-
1915-INPUT_FILTER =
1916-
1917-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
1918-# basis.
1919-# Doxygen will compare the file name with each pattern and apply the
1920-# filter if there is a match.
1921-# The filters are a list of the form:
1922-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
1923-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
1924-# is applied to all files.
1925-
1926-FILTER_PATTERNS =
1927-
1928-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
1929-# INPUT_FILTER) will be used to filter the input files when producing source
1930-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
1931-
1932-FILTER_SOURCE_FILES = NO
1933-
1934-#---------------------------------------------------------------------------
1935-# configuration options related to source browsing
1936-#---------------------------------------------------------------------------
1937-
1938-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
1939-# be generated. Documented entities will be cross-referenced with these sources.
1940-# Note: To get rid of all source code in the generated output, make sure also
1941-# VERBATIM_HEADERS is set to NO.
1942-
1943-SOURCE_BROWSER = NO
1944-
1945-# Setting the INLINE_SOURCES tag to YES will include the body
1946-# of functions and classes directly in the documentation.
1947-
1948-INLINE_SOURCES = NO
1949-
1950-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
1951-# doxygen to hide any special comment blocks from generated source code
1952-# fragments. Normal C and C++ comments will always remain visible.
1953-
1954-STRIP_CODE_COMMENTS = YES
1955-
1956-# If the REFERENCED_BY_RELATION tag is set to YES
1957-# then for each documented function all documented
1958-# functions referencing it will be listed.
1959-
1960-REFERENCED_BY_RELATION = YES
1961-
1962-# If the REFERENCES_RELATION tag is set to YES
1963-# then for each documented function all documented entities
1964-# called/used by that function will be listed.
1965-
1966-REFERENCES_RELATION = YES
1967-
1968-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
1969-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
1970-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
1971-# link to the source code.
1972-# Otherwise they will link to the documentation.
1973-
1974-REFERENCES_LINK_SOURCE = YES
1975-
1976-# If the USE_HTAGS tag is set to YES then the references to source code
1977-# will point to the HTML generated by the htags(1) tool instead of doxygen
1978-# built-in source browser. The htags tool is part of GNU's global source
1979-# tagging system (see http://www.gnu.org/software/global/global.html). You
1980-# will need version 4.8.6 or higher.
1981-
1982-USE_HTAGS = NO
1983-
1984-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
1985-# will generate a verbatim copy of the header file for each class for
1986-# which an include is specified. Set to NO to disable this.
1987-
1988-VERBATIM_HEADERS = NO
1989-
1990-#---------------------------------------------------------------------------
1991-# configuration options related to the alphabetical class index
1992-#---------------------------------------------------------------------------
1993-
1994-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
1995-# of all compounds will be generated. Enable this if the project
1996-# contains a lot of classes, structs, unions or interfaces.
1997-
1998-ALPHABETICAL_INDEX = YES
1999-
2000-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
2001-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
2002-# in which this list will be split (can be a number in the range [1..20])
2003-
2004-COLS_IN_ALPHA_INDEX = 5
2005-
2006-# In case all classes in a project start with a common prefix, all
2007-# classes will be put under the same header in the alphabetical index.
2008-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
2009-# should be ignored while generating the index headers.
2010-
2011-IGNORE_PREFIX =
2012-
2013-#---------------------------------------------------------------------------
2014-# configuration options related to the HTML output
2015-#---------------------------------------------------------------------------
2016-
2017-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
2018-# generate HTML output.
2019-
2020-GENERATE_HTML = YES
2021-
2022-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
2023-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
2024-# put in front of it. If left blank `html' will be used as the default path.
2025-
2026-HTML_OUTPUT = html
2027-
2028-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
2029-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
2030-# doxygen will generate files with .html extension.
2031-
2032-HTML_FILE_EXTENSION = .html
2033-
2034-# The HTML_HEADER tag can be used to specify a personal HTML header for
2035-# each generated HTML page. If it is left blank doxygen will generate a
2036-# standard header.
2037-
2038-HTML_HEADER =
2039-
2040-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
2041-# each generated HTML page. If it is left blank doxygen will generate a
2042-# standard footer.
2043-
2044-HTML_FOOTER =
2045-
2046-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
2047-# style sheet that is used by each HTML page. It can be used to
2048-# fine-tune the look of the HTML output. If the tag is left blank doxygen
2049-# will generate a default style sheet. Note that doxygen will try to copy
2050-# the style sheet file to the HTML output directory, so don't put your own
2051-# stylesheet in the HTML output directory as well, or it will be erased!
2052-
2053-HTML_STYLESHEET =
2054-
2055-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
2056-# files or namespaces will be aligned in HTML using tables. If set to
2057-# NO a bullet list will be used.
2058-
2059-HTML_ALIGN_MEMBERS = YES
2060-
2061-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
2062-# documentation will contain sections that can be hidden and shown after the
2063-# page has loaded. For this to work a browser that supports
2064-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
2065-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
2066-
2067-HTML_DYNAMIC_SECTIONS = YES
2068-
2069-# If the GENERATE_DOCSET tag is set to YES, additional index files
2070-# will be generated that can be used as input for Apple's Xcode 3
2071-# integrated development environment, introduced with OSX 10.5 (Leopard).
2072-# To create a documentation set, doxygen will generate a Makefile in the
2073-# HTML output directory. Running make will produce the docset in that
2074-# directory and running "make install" will install the docset in
2075-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
2076-# it at startup.
2077-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
2078-
2079-GENERATE_DOCSET = NO
2080-
2081-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
2082-# feed. A documentation feed provides an umbrella under which multiple
2083-# documentation sets from a single provider (such as a company or product suite)
2084-# can be grouped.
2085-
2086-DOCSET_FEEDNAME = "Doxygen generated docs"
2087-
2088-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
2089-# should uniquely identify the documentation set bundle. This should be a
2090-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
2091-# will append .docset to the name.
2092-
2093-DOCSET_BUNDLE_ID = org.doxygen.Project
2094-
2095-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
2096-# will be generated that can be used as input for tools like the
2097-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
2098-# of the generated HTML documentation.
2099-
2100-GENERATE_HTMLHELP = NO
2101-
2102-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
2103-# be used to specify the file name of the resulting .chm file. You
2104-# can add a path in front of the file if the result should not be
2105-# written to the html output directory.
2106-
2107-CHM_FILE =
2108-
2109-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
2110-# be used to specify the location (absolute path including file name) of
2111-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
2112-# the HTML help compiler on the generated index.hhp.
2113-
2114-HHC_LOCATION =
2115-
2116-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
2117-# controls if a separate .chi index file is generated (YES) or that
2118-# it should be included in the master .chm file (NO).
2119-
2120-GENERATE_CHI = NO
2121-
2122-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
2123-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
2124-# content.
2125-
2126-CHM_INDEX_ENCODING =
2127-
2128-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
2129-# controls whether a binary table of contents is generated (YES) or a
2130-# normal table of contents (NO) in the .chm file.
2131-
2132-BINARY_TOC = NO
2133-
2134-# The TOC_EXPAND flag can be set to YES to add extra items for group members
2135-# to the contents of the HTML help documentation and to the tree view.
2136-
2137-TOC_EXPAND = NO
2138-
2139-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
2140-# are set, an additional index file will be generated that can be used as input for
2141-# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
2142-# HTML documentation.
2143-
2144-GENERATE_QHP = NO
2145-
2146-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
2147-# be used to specify the file name of the resulting .qch file.
2148-# The path specified is relative to the HTML output folder.
2149-
2150-QCH_FILE =
2151-
2152-# The QHP_NAMESPACE tag specifies the namespace to use when generating
2153-# Qt Help Project output. For more information please see
2154-# http://doc.trolltech.com/qthelpproject.html#namespace
2155-
2156-QHP_NAMESPACE =
2157-
2158-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
2159-# Qt Help Project output. For more information please see
2160-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
2161-
2162-QHP_VIRTUAL_FOLDER = doc
2163-
2164-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
2165-# For more information please see
2166-# http://doc.trolltech.com/qthelpproject.html#custom-filters
2167-
2168-QHP_CUST_FILTER_NAME =
2169-
2170-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
2171-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
2172-
2173-QHP_CUST_FILTER_ATTRS =
2174-
2175-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
2176-# filter section matches.
2177-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
2178-
2179-QHP_SECT_FILTER_ATTRS =
2180-
2181-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
2182-# be used to specify the location of Qt's qhelpgenerator.
2183-# If non-empty doxygen will try to run qhelpgenerator on the generated
2184-# .qhp file.
2185-
2186-QHG_LOCATION =
2187-
2188-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
2189-# top of each HTML page. The value NO (the default) enables the index and
2190-# the value YES disables it.
2191-
2192-DISABLE_INDEX = NO
2193-
2194-# This tag can be used to set the number of enum values (range [1..20])
2195-# that doxygen will group on one line in the generated HTML documentation.
2196-
2197-ENUM_VALUES_PER_LINE = 4
2198-
2199-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
2200-# structure should be generated to display hierarchical information.
2201-# If the tag value is set to FRAME, a side panel will be generated
2202-# containing a tree-like index structure (just like the one that
2203-# is generated for HTML Help). For this to work a browser that supports
2204-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
2205-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
2206-# probably better off using the HTML help feature. Other possible values
2207-# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
2208-# and Class Hierarchy pages using a tree view instead of an ordered list;
2209-# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
2210-# disables this behavior completely. For backwards compatibility with previous
2211-# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
2212-# respectively.
2213-
2214-GENERATE_TREEVIEW = NO
2215-
2216-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
2217-# used to set the initial width (in pixels) of the frame in which the tree
2218-# is shown.
2219-
2220-TREEVIEW_WIDTH = 250
2221-
2222-# Use this tag to change the font size of Latex formulas included
2223-# as images in the HTML documentation. The default is 10. Note that
2224-# when you change the font size after a successful doxygen run you need
2225-# to manually remove any form_*.png images from the HTML output directory
2226-# to force them to be regenerated.
2227-
2228-FORMULA_FONTSIZE = 10
2229-
2230-#---------------------------------------------------------------------------
2231-# configuration options related to the LaTeX output
2232-#---------------------------------------------------------------------------
2233-
2234-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
2235-# generate Latex output.
2236-
2237-GENERATE_LATEX = NO
2238-
2239-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
2240-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
2241-# put in front of it. If left blank `latex' will be used as the default path.
2242-
2243-LATEX_OUTPUT = latex
2244-
2245-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
2246-# invoked. If left blank `latex' will be used as the default command name.
2247-
2248-LATEX_CMD_NAME = pdflatex
2249-
2250-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
2251-# generate index for LaTeX. If left blank `makeindex' will be used as the
2252-# default command name.
2253-
2254-MAKEINDEX_CMD_NAME = makeindex
2255-
2256-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
2257-# LaTeX documents. This may be useful for small projects and may help to
2258-# save some trees in general.
2259-
2260-COMPACT_LATEX = NO
2261-
2262-# The PAPER_TYPE tag can be used to set the paper type that is used
2263-# by the printer. Possible values are: a4, a4wide, letter, legal and
2264-# executive. If left blank a4wide will be used.
2265-
2266-PAPER_TYPE = letter
2267-
2268-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
2269-# packages that should be included in the LaTeX output.
2270-
2271-EXTRA_PACKAGES =
2272-
2273-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
2274-# the generated latex document. The header should contain everything until
2275-# the first chapter. If it is left blank doxygen will generate a
2276-# standard header. Notice: only use this tag if you know what you are doing!
2277-
2278-LATEX_HEADER = refman_header.tex
2279-
2280-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
2281-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
2282-# contain links (just like the HTML output) instead of page references
2283-# This makes the output suitable for online browsing using a pdf viewer.
2284-
2285-PDF_HYPERLINKS = YES
2286-
2287-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
2288-# plain latex in the generated Makefile. Set this option to YES to get a
2289-# higher quality PDF documentation.
2290-
2291-USE_PDFLATEX = YES
2292-
2293-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
2294-# command to the generated LaTeX files. This will instruct LaTeX to keep
2295-# running if errors occur, instead of asking the user for help.
2296-# This option is also used when generating formulas in HTML.
2297-
2298-LATEX_BATCHMODE = YES
2299-
2300-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
2301-# include the index chapters (such as File Index, Compound Index, etc.)
2302-# in the output.
2303-
2304-LATEX_HIDE_INDICES = NO
2305-
2306-#---------------------------------------------------------------------------
2307-# configuration options related to the RTF output
2308-#---------------------------------------------------------------------------
2309-
2310-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
2311-# The RTF output is optimized for Word 97 and may not look very pretty with
2312-# other RTF readers or editors.
2313-
2314-GENERATE_RTF = NO
2315-
2316-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
2317-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
2318-# put in front of it. If left blank `rtf' will be used as the default path.
2319-
2320-RTF_OUTPUT = rtf
2321-
2322-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
2323-# RTF documents. This may be useful for small projects and may help to
2324-# save some trees in general.
2325-
2326-COMPACT_RTF = NO
2327-
2328-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
2329-# will contain hyperlink fields. The RTF file will
2330-# contain links (just like the HTML output) instead of page references.
2331-# This makes the output suitable for online browsing using WORD or other
2332-# programs which support those fields.
2333-# Note: wordpad (write) and others do not support links.
2334-
2335-RTF_HYPERLINKS = NO
2336-
2337-# Load stylesheet definitions from file. Syntax is similar to doxygen's
2338-# config file, i.e. a series of assignments. You only have to provide
2339-# replacements, missing definitions are set to their default value.
2340-
2341-RTF_STYLESHEET_FILE =
2342-
2343-# Set optional variables used in the generation of an rtf document.
2344-# Syntax is similar to doxygen's config file.
2345-
2346-RTF_EXTENSIONS_FILE =
2347-
2348-#---------------------------------------------------------------------------
2349-# configuration options related to the man page output
2350-#---------------------------------------------------------------------------
2351-
2352-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
2353-# generate man pages
2354-
2355-GENERATE_MAN = NO
2356-
2357-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
2358-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
2359-# put in front of it. If left blank `man' will be used as the default path.
2360-
2361-MAN_OUTPUT = man
2362-
2363-# The MAN_EXTENSION tag determines the extension that is added to
2364-# the generated man pages (default is the subroutine's section .3)
2365-
2366-MAN_EXTENSION = .3
2367-
2368-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
2369-# then it will generate one additional man file for each entity
2370-# documented in the real man page(s). These additional files
2371-# only source the real man page, but without them the man command
2372-# would be unable to find the correct page. The default is NO.
2373-
2374-MAN_LINKS = NO
2375-
2376-#---------------------------------------------------------------------------
2377-# configuration options related to the XML output
2378-#---------------------------------------------------------------------------
2379-
2380-# If the GENERATE_XML tag is set to YES Doxygen will
2381-# generate an XML file that captures the structure of
2382-# the code including all documentation.
2383-
2384-GENERATE_XML = NO
2385-
2386-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
2387-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
2388-# put in front of it. If left blank `xml' will be used as the default path.
2389-
2390-XML_OUTPUT = xml
2391-
2392-# The XML_SCHEMA tag can be used to specify an XML schema,
2393-# which can be used by a validating XML parser to check the
2394-# syntax of the XML files.
2395-
2396-XML_SCHEMA =
2397-
2398-# The XML_DTD tag can be used to specify an XML DTD,
2399-# which can be used by a validating XML parser to check the
2400-# syntax of the XML files.
2401-
2402-XML_DTD =
2403-
2404-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
2405-# dump the program listings (including syntax highlighting
2406-# and cross-referencing information) to the XML output. Note that
2407-# enabling this will significantly increase the size of the XML output.
2408-
2409-XML_PROGRAMLISTING = YES
2410-
2411-#---------------------------------------------------------------------------
2412-# configuration options for the AutoGen Definitions output
2413-#---------------------------------------------------------------------------
2414-
2415-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
2416-# generate an AutoGen Definitions (see autogen.sf.net) file
2417-# that captures the structure of the code including all
2418-# documentation. Note that this feature is still experimental
2419-# and incomplete at the moment.
2420-
2421-GENERATE_AUTOGEN_DEF = NO
2422-
2423-#---------------------------------------------------------------------------
2424-# configuration options related to the Perl module output
2425-#---------------------------------------------------------------------------
2426-
2427-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
2428-# generate a Perl module file that captures the structure of
2429-# the code including all documentation. Note that this
2430-# feature is still experimental and incomplete at the
2431-# moment.
2432-
2433-GENERATE_PERLMOD = NO
2434-
2435-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
2436-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
2437-# to generate PDF and DVI output from the Perl module output.
2438-
2439-PERLMOD_LATEX = NO
2440-
2441-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
2442-# nicely formatted so it can be parsed by a human reader.
2443-# This is useful
2444-# if you want to understand what is going on.
2445-# On the other hand, if this
2446-# tag is set to NO the size of the Perl module output will be much smaller
2447-# and Perl will parse it just the same.
2448-
2449-PERLMOD_PRETTY = YES
2450-
2451-# The names of the make variables in the generated doxyrules.make file
2452-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
2453-# This is useful so different doxyrules.make files included by the same
2454-# Makefile don't overwrite each other's variables.
2455-
2456-PERLMOD_MAKEVAR_PREFIX =
2457-
2458-#---------------------------------------------------------------------------
2459-# Configuration options related to the preprocessor
2460-#---------------------------------------------------------------------------
2461-
2462-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
2463-# evaluate all C-preprocessor directives found in the sources and include
2464-# files.
2465-
2466-ENABLE_PREPROCESSING = YES
2467-
2468-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
2469-# names in the source code. If set to NO (the default) only conditional
2470-# compilation will be performed. Macro expansion can be done in a controlled
2471-# way by setting EXPAND_ONLY_PREDEF to YES.
2472-
2473-MACRO_EXPANSION = NO
2474-
2475-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
2476-# then the macro expansion is limited to the macros specified with the
2477-# PREDEFINED and EXPAND_AS_DEFINED tags.
2478-
2479-EXPAND_ONLY_PREDEF = NO
2480-
2481-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
2482-# in the INCLUDE_PATH (see below) will be search if a #include is found.
2483-
2484-SEARCH_INCLUDES = YES
2485-
2486-# The INCLUDE_PATH tag can be used to specify one or more directories that
2487-# contain include files that are not input files but should be processed by
2488-# the preprocessor.
2489-
2490-INCLUDE_PATH =
2491-
2492-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
2493-# patterns (like *.h and *.hpp) to filter out the header-files in the
2494-# directories. If left blank, the patterns specified with FILE_PATTERNS will
2495-# be used.
2496-
2497-INCLUDE_FILE_PATTERNS =
2498-
2499-# The PREDEFINED tag can be used to specify one or more macro names that
2500-# are defined before the preprocessor is started (similar to the -D option of
2501-# gcc). The argument of the tag is a list of macros of the form: name
2502-# or name=definition (no spaces). If the definition and the = are
2503-# omitted =1 is assumed. To prevent a macro definition from being
2504-# undefined via #undef or recursively expanded use the := operator
2505-# instead of the = operator.
2506-
2507-PREDEFINED =
2508-
2509-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
2510-# this tag can be used to specify a list of macro names that should be expanded.
2511-# The macro definition that is found in the sources will be used.
2512-# Use the PREDEFINED tag if you want to use a different macro definition.
2513-
2514-EXPAND_AS_DEFINED =
2515-
2516-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
2517-# doxygen's preprocessor will remove all function-like macros that are alone
2518-# on a line, have an all uppercase name, and do not end with a semicolon. Such
2519-# function macros are typically used for boiler-plate code, and will confuse
2520-# the parser if not removed.
2521-
2522-SKIP_FUNCTION_MACROS = YES
2523-
2524-#---------------------------------------------------------------------------
2525-# Configuration::additions related to external references
2526-#---------------------------------------------------------------------------
2527-
2528-# The TAGFILES option can be used to specify one or more tagfiles.
2529-# Optionally an initial location of the external documentation
2530-# can be added for each tagfile. The format of a tag file without
2531-# this location is as follows:
2532-#
2533-# TAGFILES = file1 file2 ...
2534-# Adding location for the tag files is done as follows:
2535-#
2536-# TAGFILES = file1=loc1 "file2 = loc2" ...
2537-# where "loc1" and "loc2" can be relative or absolute paths or
2538-# URLs. If a location is present for each tag, the installdox tool
2539-# does not have to be run to correct the links.
2540-# Note that each tag file must have a unique name
2541-# (where the name does NOT include the path)
2542-# If a tag file is not located in the directory in which doxygen
2543-# is run, you must also specify the path to the tagfile here.
2544-
2545-TAGFILES =
2546-
2547-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
2548-# a tag file that is based on the input files it reads.
2549-
2550-GENERATE_TAGFILE =
2551-
2552-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
2553-# in the class index. If set to NO only the inherited external classes
2554-# will be listed.
2555-
2556-ALLEXTERNALS = NO
2557-
2558-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
2559-# in the modules index. If set to NO, only the current project's groups will
2560-# be listed.
2561-
2562-EXTERNAL_GROUPS = YES
2563-
2564-# The PERL_PATH should be the absolute path and name of the perl script
2565-# interpreter (i.e. the result of `which perl').
2566-
2567-PERL_PATH = /usr/bin/perl
2568-
2569-#---------------------------------------------------------------------------
2570-# Configuration options related to the dot tool
2571-#---------------------------------------------------------------------------
2572-
2573-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
2574-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
2575-# or super classes. Setting the tag to NO turns the diagrams off. Note that
2576-# this option is superseded by the HAVE_DOT option below. This is only a
2577-# fallback. It is recommended to install and use dot, since it yields more
2578-# powerful graphs.
2579-
2580-CLASS_DIAGRAMS = NO
2581-
2582-# You can define message sequence charts within doxygen comments using the \msc
2583-# command. Doxygen will then run the mscgen tool (see
2584-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
2585-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
2586-# the mscgen tool resides. If left empty the tool is assumed to be found in the
2587-# default search path.
2588-
2589-MSCGEN_PATH =
2590-
2591-# If set to YES, the inheritance and collaboration graphs will hide
2592-# inheritance and usage relations if the target is undocumented
2593-# or is not a class.
2594-
2595-HIDE_UNDOC_RELATIONS = YES
2596-
2597-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
2598-# available from the path. This tool is part of Graphviz, a graph visualization
2599-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
2600-# have no effect if this option is set to NO (the default)
2601-
2602-HAVE_DOT = YES
2603-
2604-# By default doxygen will write a font called FreeSans.ttf to the output
2605-# directory and reference it in all dot files that doxygen generates. This
2606-# font does not include all possible unicode characters however, so when you need
2607-# these (or just want a differently looking font) you can specify the font name
2608-# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
2609-# which can be done by putting it in a standard location or by setting the
2610-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
2611-# containing the font.
2612-
2613-DOT_FONTNAME = FreeSans
2614-
2615-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
2616-# The default size is 10pt.
2617-
2618-DOT_FONTSIZE = 10
2619-
2620-# By default doxygen will tell dot to use the output directory to look for the
2621-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
2622-# different font using DOT_FONTNAME you can set the path where dot
2623-# can find it using this tag.
2624-
2625-DOT_FONTPATH =
2626-
2627-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
2628-# will generate a graph for each documented class showing the direct and
2629-# indirect inheritance relations. Setting this tag to YES will force the
2630-# the CLASS_DIAGRAMS tag to NO.
2631-
2632-CLASS_GRAPH = YES
2633-
2634-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
2635-# will generate a graph for each documented class showing the direct and
2636-# indirect implementation dependencies (inheritance, containment, and
2637-# class references variables) of the class with other documented classes.
2638-
2639-COLLABORATION_GRAPH = NO
2640-
2641-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
2642-# will generate a graph for groups, showing the direct groups dependencies
2643-
2644-GROUP_GRAPHS = NO
2645-
2646-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
2647-# collaboration diagrams in a style similar to the OMG's Unified Modeling
2648-# Language.
2649-
2650-UML_LOOK = NO
2651-
2652-# If set to YES, the inheritance and collaboration graphs will show the
2653-# relations between templates and their instances.
2654-
2655-TEMPLATE_RELATIONS = YES
2656-
2657-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
2658-# tags are set to YES then doxygen will generate a graph for each documented
2659-# file showing the direct and indirect include dependencies of the file with
2660-# other documented files.
2661-
2662-INCLUDE_GRAPH = NO
2663-
2664-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
2665-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
2666-# documented header file showing the documented files that directly or
2667-# indirectly include this file.
2668-
2669-INCLUDED_BY_GRAPH = NO
2670-
2671-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
2672-# doxygen will generate a call dependency graph for every global function
2673-# or class method. Note that enabling this option will significantly increase
2674-# the time of a run. So in most cases it will be better to enable call graphs
2675-# for selected functions only using the \callgraph command.
2676-
2677-CALL_GRAPH = NO
2678-
2679-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
2680-# doxygen will generate a caller dependency graph for every global function
2681-# or class method. Note that enabling this option will significantly increase
2682-# the time of a run. So in most cases it will be better to enable caller
2683-# graphs for selected functions only using the \callergraph command.
2684-
2685-CALLER_GRAPH = NO
2686-
2687-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
2688-# will graphical hierarchy of all classes instead of a textual one.
2689-
2690-GRAPHICAL_HIERARCHY = YES
2691-
2692-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
2693-# then doxygen will show the dependencies a directory has on other directories
2694-# in a graphical way. The dependency relations are determined by the #include
2695-# relations between the files in the directories.
2696-
2697-DIRECTORY_GRAPH = YES
2698-
2699-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
2700-# generated by dot. Possible values are png, jpg, or gif
2701-# If left blank png will be used.
2702-
2703-DOT_IMAGE_FORMAT = png
2704-
2705-# The tag DOT_PATH can be used to specify the path where the dot tool can be
2706-# found. If left blank, it is assumed the dot tool can be found in the path.
2707-
2708-DOT_PATH = D:\utah\opt\ATT\Graphviz\bin
2709-
2710-# The DOTFILE_DIRS tag can be used to specify one or more directories that
2711-# contain dot files that are included in the documentation (see the
2712-# \dotfile command).
2713-
2714-DOTFILE_DIRS =
2715-
2716-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
2717-# nodes that will be shown in the graph. If the number of nodes in a graph
2718-# becomes larger than this value, doxygen will truncate the graph, which is
2719-# visualized by representing a node as a red box. Note that doxygen if the
2720-# number of direct children of the root node in a graph is already larger than
2721-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
2722-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
2723-
2724-DOT_GRAPH_MAX_NODES = 50
2725-
2726-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
2727-# graphs generated by dot. A depth value of 3 means that only nodes reachable
2728-# from the root by following a path via at most 3 edges will be shown. Nodes
2729-# that lay further from the root node will be omitted. Note that setting this
2730-# option to 1 or 2 may greatly reduce the computation time needed for large
2731-# code bases. Also note that the size of a graph can be further restricted by
2732-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
2733-
2734-MAX_DOT_GRAPH_DEPTH = 0
2735-
2736-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
2737-# background. This is disabled by default, because dot on Windows does not
2738-# seem to support this out of the box. Warning: Depending on the platform used,
2739-# enabling this option may lead to badly anti-aliased labels on the edges of
2740-# a graph (i.e. they become hard to read).
2741-
2742-DOT_TRANSPARENT = YES
2743-
2744-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
2745-# files in one run (i.e. multiple -o and -T options on the command line). This
2746-# makes dot run faster, but since only newer versions of dot (>1.8.10)
2747-# support this, this feature is disabled by default.
2748-
2749-DOT_MULTI_TARGETS = YES
2750-
2751-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
2752-# generate a legend page explaining the meaning of the various boxes and
2753-# arrows in the dot generated graphs.
2754-
2755-GENERATE_LEGEND = NO
2756-
2757-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
2758-# remove the intermediate dot files that are used to generate
2759-# the various graphs.
2760-
2761-DOT_CLEANUP = YES
2762-
2763-#---------------------------------------------------------------------------
2764-# Options related to the search engine
2765-#---------------------------------------------------------------------------
2766-
2767-# The SEARCHENGINE tag specifies whether or not a search engine should be
2768-# used. If set to NO the values of all tags below this one will be ignored.
2769-
2770-SEARCHENGINE = NO
2771
2772=== removed directory '.pc/2008-apidoc-listings-pkg.patch'
2773=== removed file '.pc/2008-apidoc-listings-pkg.patch/refman_header.tex'
2774--- .pc/2008-apidoc-listings-pkg.patch/refman_header.tex 2010-03-01 01:31:25 +0000
2775+++ .pc/2008-apidoc-listings-pkg.patch/refman_header.tex 1970-01-01 00:00:00 +0000
2776@@ -1,158 +0,0 @@
2777-% C S O U N D 5 A P I R E F E R E N C E M A N U A L
2778-% The manual is produced from 2 sources: this header document for new features and users' guide,
2779-% and autogenerated Doxygen LaTeX files for Csound API reference documentation. To produce the entire manual:
2780-% 1. Run Doxygen in the csound5 directory. It will produce LaTeX output that includes the contents of this file,
2781-% as well as API documentation automatically generated from various Csound and CsoundVST header files.
2782-% 2. Doxygen will produce a doc/csound/latex/refman.tex file. Run pdflatex on this file to generate csound.pdf. You can
2783-% also run tex4ht on this file to produce an HTML form of the manual. Be sure to run in a mode that skips right on past
2784-% all the hundreds of LaTeX errors!
2785-% 3. Steps 1 and 3 are automated in SConstruct with the generatePdf=1 option.
2786-\batchmode
2787-\documentclass[letterpaper]{book}
2788-\usepackage{makeidx}
2789-\usepackage{fancyhdr}
2790-\usepackage{graphicx}
2791-\usepackage{multicol}
2792-\usepackage{float}
2793-\usepackage{textcomp}
2794-\usepackage{alltt}
2795-\usepackage{times}
2796-\usepackage{ifpdf}
2797-\ifpdf
2798-\usepackage[pdftex,
2799- pagebackref=true,
2800- colorlinks=true,
2801- linkcolor=blue,
2802- unicode
2803- ]{hyperref}
2804-\else
2805-\usepackage[ps2pdf,
2806- pagebackref=true,
2807- colorlinks=true,
2808- linkcolor=blue,
2809- unicode
2810- ]{hyperref}
2811-\usepackage{pspicture}
2812-\fi
2813-\usepackage[utf8]{inputenc}
2814-\usepackage{doxygen}
2815-\makeindex
2816-\setcounter{tocdepth}{1}
2817-\renewcommand{\footrulewidth}{0.4pt}
2818-\begin{document}
2819-\begin{titlepage}
2820-\vspace*{7cm}
2821-\begin{center}
2822-{\Large Csound and CsoundAC API Reference}\\
2823-\vspace*{1cm}
2824-{\large Generated by Doxygen 1.5.5}\\
2825-\vspace*{0.5cm}
2826-{\small Sat Mar 1 22:26:05 2008}\\
2827-\end{center}
2828-\end{titlepage}
2829-\clearemptydoublepage
2830-\pagenumbering{roman}
2831-\tableofcontents
2832-\clearemptydoublepage
2833-\pagenumbering{arabic}
2834-\part{Licenses}
2835-\chapter{Csound, CsoundAC, and CsoundVST}
2836-
2837-Csound is \copyright 1991--2003 by Barry Vercoe and John ffitch.
2838-
2839-CsoundAC and CsoundVST are \copyright 2001--2007 by Michael Gogins.
2840-
2841-Csound and CsoundAC are 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.
2842-
2843-Csound and CsoundAC are distributed in the hope that they 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.
2844-
2845-You should have received a copy of the GNU Lesser General Public License along with Csound and CsoundAC; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
2846-
2847-\chapter{Manual}
2848-
2849-Permission is granted to copy, distribute and/or modify this document under the terms of the
2850-GNU Free Documentation License, Version 1.2 or any later version published by the Free Software
2851-Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
2852-
2853-\part{Outline of the API}
2854-
2855-\chapter{The Csound Application Programming Interfaces}
2856-
2857-The Csound Application Programming Interface (API) reference is contained in the chapters following this one. The Csound API actually consists of several APIs:
2858-
2859-\begin{itemize}
2860-
2861-\item \emph{The basic Csound C API.} Include \texttt{csound.h} (page \pageref{csound_8h}) and link with \texttt{libcsound.a}. This also includes the Cscore API (see below).
2862-
2863-\item \emph{The basic Csound C++ API.} Include \texttt{csound.hpp} (page \pageref{csound_8hpp}) and link with \texttt{libcsound.a}.
2864-
2865-\item \emph{The extended Csound C++ API.} Include \texttt{CppSound.hpp} (page \pageref{CppSound_8hpp}) and \texttt{CppSound.hpp} (page \pageref{CsoundFile_8hpp}) and link with \verb|libcsound.a| and \verb|lib_csnd.a|, which adds to the Csound C++ API a CsoundFile class (\ref{classCsoundFile}) for loading, saving, and editing Csound orchestra and score files.
2866-
2867-\item \emph{The CsoundAC C++ API.} Include \texttt{CsoundAC.hpp} (page \pageref{CsoundAC_8hpp}) and link with \verb|libcsound.a|, \verb|lib_csnd.a|, and \verb|libCsoundAC.a|. The \texttt{CsoundAC} class (\ref{classCsoundAC}) contains an instance of the \texttt{CppSound} class (\ref{classCppSound}), which adds to the Csound a basic graphical user interface for editing Csound files and running Csound, and provides a class hierarchy for doing algorithmic composition using Michael Gogins' concept of music graphs (also known as Silence).
2868-
2869-\item \emph{The Csound Python API.} Import the \texttt{csnd} Python extension module. This provides a complete Python wrapper for \texttt{csound.hpp} (page \pageref{csound_8hpp}), \texttt{CppSound} (\ref{classCppSound}), and \texttt{CsoundFile} (\ref{classCsoundFile}). The Python API provides a complete Python wrapper for the entire Csound C++ API, and the Csound C++ API reference also serves as a reference to the Python API.
2870-
2871-\item \emph{The CsoundAC Python API.} Import the \texttt{CsoundAC} Python extension module. The Python API provides a complete Python wrapper for the entire CsoundAC C++ API, including Silence, and the CsoundAC C++ API reference also serves as a reference to the Python API.
2872-
2873-\item \emph{An experimental LISP API.}
2874-
2875-\end{itemize}
2876-
2877-\section{An Example Using the Csound API}
2878-
2879-The Csound command--line program is itself built using the Csound API. Its code reads in full as follows:
2880-
2881-\begin{lstlisting}
2882-#include "csound.h"
2883-
2884-int main(int argc, char **argv)
2885-{
2886- // Create Csound.
2887- void *csound = csoundCreate(0);
2888- // One complete performance cycle.
2889- int result = csoundCompile(csound, argc, argv);
2890- if(!result)
2891- {
2892- while(csoundPerformKsmps(csound) == 0){}
2893- csoundCleanup(csound);
2894- }
2895- // Destroy Csound.
2896- csoundDestroy(csound);
2897- return result;
2898-}
2899-\end{lstlisting}
2900-
2901-\section{An Example Using the CsoundAC C++ API}
2902-
2903-CsoundAC extends the Csound API with C++. There is a C++ class for the Csound API proper, another C++ class for manipulating Csound files in code, and additional classes for algorithmic composition based on music space. All these C++ classes also have a Python interface in the \texttt{CsoundAC} Python extension module.
2904-
2905-You can build CsoundAC into your own software using the \texttt{CsoundAC} shared library and \texttt{CsoundAC.hpp} header file.
2906-
2907-\section{Cscore}
2908-
2909-Beginning with Csound 5, all of the Cscore functions described in the
2910-manual are now part of the Csound API, and they can be called from a program
2911-that calls the Csound library.
2912-
2913-All of the CScore functions are renamed in the Csound API. For example, \texttt{createv()} is now
2914-\texttt{cscoreCreateEvent()}, and \texttt{lcopy()} is now \texttt{cscoreListCopy()}. In addition, each
2915-function takes an additional first parameter that is a pointer to a \texttt{CSOUND}
2916-instance. You can find the details in the header file, \url{cscore.h}, which may
2917-be included with your Csound distribution, or if not, can be found in Csound CVS on SourceForge.
2918-
2919-Before you can use any of the Cscore API functions, you must create a \texttt{CSOUND}
2920-instance and initialize Cscore by calling \texttt{csoundInitializeCscore()} -- see
2921-\url{csound.h} for an explanation. An example main program that does all of this
2922-can be found in Csound CVS on SourceForge in \url{Top/cscormai.c}. You should add a
2923-function called \texttt{cscore()} with your own score-processing code. An example
2924-that does nothing except write the score back out unchanged can be found in the file
2925-\url{Top/cscore_internal.c}.
2926-
2927-To create your own standalone Cscore program, you must
2928-compile \url{cscormai.c} (or your own main program) and the file containing your
2929-\texttt{cscore()} function, and link them with the Csound API library.
2930-
2931-Everything that can be done using C as in the above examples can also be done in a similar manner in Python or any of the other Csound API languages.
2932-
2933-\part{API Reference}
2934-
2935
2936=== removed directory '.pc/2013-no-rawwave-defined.diff'
2937=== removed directory '.pc/2013-no-rawwave-defined.diff/Opcodes'
2938=== removed directory '.pc/2013-no-rawwave-defined.diff/Opcodes/stk'
2939=== removed file '.pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp'
2940--- .pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp 2011-01-17 22:56:00 +0000
2941+++ .pc/2013-no-rawwave-defined.diff/Opcodes/stk/stkOpcodes.cpp 1970-01-01 00:00:00 +0000
2942@@ -1,723 +0,0 @@
2943-/*
2944- This file is part of Csound.
2945-
2946- The Csound Library is free software; you can redistribute it
2947- and/or modify it under the terms of the GNU Lesser General Public
2948- License as published by the Free Software Foundation; either
2949- version 2.1 of the License, or (at your option) any later version.
2950-
2951- Csound is distributed in the hope that it will be useful,
2952- but WITHOUT ANY WARRANTY; without even the implied warranty of
2953- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2954- GNU Lesser General Public License for more details.
2955-
2956- You should have received a copy of the GNU Lesser General Public
2957- License along with Csound; if not, write to the Free Software
2958- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
2959- 02111-1307 USA
2960-*/
2961-/*
2962- * CSOUND 5 OPCODES FOR PERRY COOK'S SYNTHESIS TOOLKIT IN C++ (STK) INSTRUMENT
2963- *
2964- * This code is copyright (C) 2005 by Michael Gogins. It is licensed under the
2965- * same terms as the Synthesis Tookit in C++ by Perry R. Cook and Gary P. Scavone.
2966- *
2967- * To compile these opcodes, copy the STK include, src, and rawwaves directories
2968- * to the csound5/Opcodes/stk directory as follows:
2969- *
2970- * csound5/Opcodes/stk/include
2971- * csound5/Opcodes/stk/src
2972- * csound5/Opcodes/stk/rawwaves
2973- *
2974- * Also, specify buildStkOpcodes=1 for SCons.
2975- *
2976- * To use these opcodes, define a RAWWAVE_PATH environment variable that points
2977- * to your rawwaves directory, which contains raw soundfiles with function table
2978- * data.
2979- *
2980- * All these opcodes are named "STK" + the STK classname,
2981- * e.g. "STKBowed" for the Bowed instrument.
2982- *
2983- * All the STK opcodes have the same signature:
2984- *
2985- * aout STKName ifrequency igain {kcontroller0, kvalue1,...,kcontroller3, kvalue3}
2986- *
2987- * They take a frequency in Hertz and a gain parameter in the range [0, 1],
2988- * plus up to four optional krate controller-value pairs, and return an arate
2989- * signal that should be more or less in the range [-1, +1].
2990- * See the STK class documentation to determine the controller numbers
2991- * used by each instrument.
2992- */
2993-#include <Stk.h>
2994-#include <BandedWG.h>
2995-#include <BeeThree.h>
2996-#include <BlowBotl.h>
2997-#include <BlowHole.h>
2998-#include <Bowed.h>
2999-#include <Brass.h>
3000-#include <Clarinet.h>
3001-#include <Drummer.h>
3002-#include <Flute.h>
3003-#include <FMVoices.h>
3004-#include <HevyMetl.h>
3005-#include <Mandolin.h>
3006-//#include <Mesh2D.h>
3007-#include <ModalBar.h>
3008-#include <Moog.h>
3009-#include <PercFlut.h>
3010-#include <Plucked.h>
3011-#include <Resonate.h>
3012-#include <Rhodey.h>
3013-#include <Saxofony.h>
3014-#include <Shakers.h>
3015-#include <Simple.h>
3016-#include <Sitar.h>
3017-#include <StifKarp.h>
3018-#include <TubeBell.h>
3019-#include <VoicForm.h>
3020-#include <Whistle.h>
3021-#include <Wurley.h>
3022-
3023-using namespace stk;
3024-
3025-#include <cstdlib>
3026-#include <cstdio>
3027-#include <string>
3028-#include <map>
3029-#include <vector>
3030-
3031-using namespace std;
3032-
3033-#include <OpcodeBase.hpp>
3034-
3035-#include "csGblMtx.h"
3036-
3037-static std::map<CSOUND *, std::vector<Instrmnt *> > &getStkInstances()
3038-{
3039- static std::map<CSOUND *, std::vector<Instrmnt *> > stkInstances;
3040- return stkInstances;
3041-}
3042-
3043-template<typename T>
3044-class STKInstrumentAdapter : public OpcodeBase< STKInstrumentAdapter<T> >
3045-{
3046-public:
3047- // Outputs.
3048- MYFLT *aoutput;
3049- // Inputs.
3050- MYFLT *ifrequency;
3051- MYFLT *igain;
3052- MYFLT *kcontroller0;
3053- MYFLT *kvalue0;
3054- MYFLT *kcontroller1;
3055- MYFLT *kvalue1;
3056- MYFLT *kcontroller2;
3057- MYFLT *kvalue2;
3058- MYFLT *kcontroller3;
3059- MYFLT *kvalue3;
3060- MYFLT *kcontroller4;
3061- MYFLT *kvalue4;
3062- MYFLT *kcontroller5;
3063- MYFLT *kvalue5;
3064- MYFLT *kcontroller6;
3065- MYFLT *kvalue6;
3066- MYFLT *kcontroller7;
3067- MYFLT *kvalue7;
3068- // State.
3069- T *instrument;
3070- size_t ksmps;
3071- bool released;
3072- MYFLT oldkcontroller0;
3073- MYFLT oldkvalue0;
3074- MYFLT oldkcontroller1;
3075- MYFLT oldkvalue1;
3076- MYFLT oldkcontroller2;
3077- MYFLT oldkvalue2;
3078- MYFLT oldkcontroller3;
3079- MYFLT oldkvalue3;
3080- MYFLT oldkcontroller4;
3081- MYFLT oldkvalue4;
3082- MYFLT oldkcontroller5;
3083- MYFLT oldkvalue5;
3084- MYFLT oldkcontroller6;
3085- MYFLT oldkvalue6;
3086- MYFLT oldkcontroller7;
3087- MYFLT oldkvalue7;
3088- STKInstrumentAdapter() : instrument(0) {}
3089- int init(CSOUND *csound)
3090- {
3091- if(!instrument)
3092- {
3093- Stk::setSampleRate(csound->esr);
3094- instrument = new T();
3095- getStkInstances()[csound].push_back(instrument);
3096- }
3097- ksmps = csound->ksmps;
3098- instrument->noteOn(*ifrequency, *igain);
3099- released = false;
3100- oldkcontroller0 = -1.0;
3101- oldkvalue0 = -1.0;
3102- oldkcontroller1 = -1.0;
3103- oldkvalue1 = -1.0;
3104- oldkcontroller2 = -1.0;
3105- oldkvalue2 = -1.0;
3106- oldkcontroller3 = -1.0;
3107- oldkvalue3 = -1.0;
3108- oldkcontroller4 = -1.0;
3109- oldkvalue4 = -1.0;
3110- oldkcontroller5 = -1.0;
3111- oldkvalue5 = -1.0;
3112- oldkcontroller6 = -1.0;
3113- oldkvalue6 = -1.0;
3114- oldkcontroller7 = -1.0;
3115- oldkvalue7 = -1.0;
3116- return OK;
3117- }
3118- int kontrol(CSOUND *csound)
3119- {
3120- if(!released)
3121- {
3122- if(*kcontroller0 != oldkcontroller0 || *kvalue0 != oldkvalue0)
3123- {
3124- instrument->controlChange(static_cast<int>(*kcontroller0), *kvalue0);
3125- oldkcontroller0 = *kcontroller0;
3126- oldkvalue0 = *kvalue0;
3127- }
3128- if(*kcontroller1 != oldkcontroller1 || *kvalue1 != oldkvalue1)
3129- {
3130- instrument->controlChange(static_cast<int>(*kcontroller1), *kvalue1);
3131- oldkcontroller1 = *kcontroller1;
3132- oldkvalue1 = *kvalue1;
3133- }
3134- if(*kcontroller2 != oldkcontroller2 || *kvalue2 != oldkvalue2)
3135- {
3136- instrument->controlChange(static_cast<int>(*kcontroller2), *kvalue2);
3137- oldkcontroller2 = *kcontroller2;
3138- oldkvalue2 = *kvalue2;
3139- }
3140- if(*kcontroller3 != oldkcontroller3 || *kvalue3 != oldkvalue3)
3141- {
3142- instrument->controlChange(static_cast<int>(*kcontroller3), *kvalue3);
3143- oldkcontroller3 = *kcontroller3;
3144- oldkvalue3 = *kvalue3;
3145- }
3146- if(*kcontroller4 != oldkcontroller4 || *kvalue4 != oldkvalue4)
3147- {
3148- instrument->controlChange(static_cast<int>(*kcontroller4), *kvalue4);
3149- oldkcontroller4 = *kcontroller4;
3150- oldkvalue4 = *kvalue4;
3151- }
3152- if(*kcontroller5 != oldkcontroller5 || *kvalue5 != oldkvalue5)
3153- {
3154- instrument->controlChange(static_cast<int>(*kcontroller5), *kvalue5);
3155- oldkcontroller5 = *kcontroller5;
3156- oldkvalue5 = *kvalue5;
3157- }
3158- if(*kcontroller6 != oldkcontroller6 || *kvalue6 != oldkvalue6)
3159- {
3160- instrument->controlChange(static_cast<int>(*kcontroller6), *kvalue6);
3161- oldkcontroller6 = *kcontroller6;
3162- oldkvalue6 = *kvalue6;
3163- }
3164- if(*kcontroller7 != oldkcontroller7 || *kvalue7 != oldkvalue7)
3165- {
3166- instrument->controlChange(static_cast<int>(*kcontroller7), *kvalue7);
3167- oldkcontroller7 = *kcontroller7;
3168- oldkvalue7 = *kvalue7;
3169- }
3170- for(size_t i = 0; i < ksmps; i++)
3171- {
3172- aoutput[i] = instrument->tick();
3173- }
3174- }
3175- else
3176- {
3177- // memset(aoutput, 0, ksmps*sizeof(MYFLT));
3178- for(size_t i = 0; i < ksmps; i++)
3179- {
3180- aoutput[i] = 0;
3181- }
3182- }
3183- return OK;
3184- }
3185-};
3186-
3187-template<typename T>
3188-class STKInstrumentAdapter1 : public OpcodeBase< STKInstrumentAdapter1<T> >
3189-{
3190-public:
3191- // Outputs.
3192- MYFLT *aoutput;
3193- // Inputs.
3194- MYFLT *ifrequency;
3195- MYFLT *igain;
3196- MYFLT *kcontroller0;
3197- MYFLT *kvalue0;
3198- MYFLT *kcontroller1;
3199- MYFLT *kvalue1;
3200- MYFLT *kcontroller2;
3201- MYFLT *kvalue2;
3202- MYFLT *kcontroller3;
3203- MYFLT *kvalue3;
3204- MYFLT *kcontroller4;
3205- MYFLT *kvalue4;
3206- MYFLT *kcontroller5;
3207- MYFLT *kvalue5;
3208- MYFLT *kcontroller6;
3209- MYFLT *kvalue6;
3210- MYFLT *kcontroller7;
3211- MYFLT *kvalue7;
3212- // State.
3213- T *instrument;
3214- size_t ksmps;
3215- bool released;
3216- MYFLT oldkcontroller0;
3217- MYFLT oldkvalue0;
3218- MYFLT oldkcontroller1;
3219- MYFLT oldkvalue1;
3220- MYFLT oldkcontroller2;
3221- MYFLT oldkvalue2;
3222- MYFLT oldkcontroller3;
3223- MYFLT oldkvalue3;
3224- MYFLT oldkcontroller4;
3225- MYFLT oldkvalue4;
3226- MYFLT oldkcontroller5;
3227- MYFLT oldkvalue5;
3228- MYFLT oldkcontroller6;
3229- MYFLT oldkvalue6;
3230- MYFLT oldkcontroller7;
3231- MYFLT oldkvalue7;
3232- STKInstrumentAdapter1() : instrument(0) {}
3233- int init(CSOUND *csound)
3234- {
3235- if(!instrument) {
3236- Stk::setSampleRate(csound->esr);
3237- instrument = new T((StkFloat) 10.0);
3238- getStkInstances()[csound].push_back(instrument);
3239- }
3240- ksmps = csound->ksmps;
3241- instrument->noteOn(*ifrequency, *igain);
3242- released = false;
3243- oldkcontroller0 = -1.0;
3244- oldkvalue0 = -1.0;
3245- oldkcontroller1 = -1.0;
3246- oldkvalue1 = -1.0;
3247- oldkcontroller2 = -1.0;
3248- oldkvalue2 = -1.0;
3249- oldkcontroller3 = -1.0;
3250- oldkvalue3 = -1.0;
3251- oldkcontroller4 = -1.0;
3252- oldkvalue4 = -1.0;
3253- oldkcontroller5 = -1.0;
3254- oldkvalue5 = -1.0;
3255- oldkcontroller6 = -1.0;
3256- oldkvalue6 = -1.0;
3257- oldkcontroller7 = -1.0;
3258- oldkvalue7 = -1.0;
3259- return OK;
3260- }
3261- int kontrol(CSOUND *csound)
3262- {
3263- if(!released)
3264- {
3265- if(*kcontroller0 != oldkcontroller0 || *kvalue0 != oldkvalue0)
3266- {
3267- instrument->controlChange(static_cast<int>(*kcontroller0), *kvalue0);
3268- oldkcontroller0 = *kcontroller0;
3269- oldkvalue0 = *kvalue0;
3270- }
3271- if(*kcontroller1 != oldkcontroller1 || *kvalue1 != oldkvalue1)
3272- {
3273- instrument->controlChange(static_cast<int>(*kcontroller1), *kvalue1);
3274- oldkcontroller1 = *kcontroller1;
3275- oldkvalue1 = *kvalue1;
3276- }
3277- if(*kcontroller2 != oldkcontroller2 || *kvalue2 != oldkvalue2)
3278- {
3279- instrument->controlChange(static_cast<int>(*kcontroller2), *kvalue2);
3280- oldkcontroller2 = *kcontroller2;
3281- oldkvalue2 = *kvalue2;
3282- }
3283- if(*kcontroller3 != oldkcontroller3 || *kvalue3 != oldkvalue3)
3284- {
3285- instrument->controlChange(static_cast<int>(*kcontroller3), *kvalue3);
3286- oldkcontroller3 = *kcontroller3;
3287- oldkvalue3 = *kvalue3;
3288- }
3289- if(*kcontroller4 != oldkcontroller4 || *kvalue4 != oldkvalue4)
3290- {
3291- instrument->controlChange(static_cast<int>(*kcontroller4), *kvalue4);
3292- oldkcontroller4 = *kcontroller4;
3293- oldkvalue4 = *kvalue4;
3294- }
3295- if(*kcontroller5 != oldkcontroller5 || *kvalue5 != oldkvalue5)
3296- {
3297- instrument->controlChange(static_cast<int>(*kcontroller5), *kvalue5);
3298- oldkcontroller5 = *kcontroller5;
3299- oldkvalue5 = *kvalue5;
3300- }
3301- if(*kcontroller6 != oldkcontroller6 || *kvalue6 != oldkvalue6)
3302- {
3303- instrument->controlChange(static_cast<int>(*kcontroller6), *kvalue6);
3304- oldkcontroller6 = *kcontroller6;
3305- oldkvalue6 = *kvalue6;
3306- }
3307- if(*kcontroller7 != oldkcontroller7 || *kvalue7 != oldkvalue7)
3308- {
3309- instrument->controlChange(static_cast<int>(*kcontroller7), *kvalue7);
3310- oldkcontroller7 = *kcontroller7;
3311- oldkvalue7 = *kvalue7;
3312- }
3313- for(size_t i = 0; i < ksmps; i++)
3314- {
3315- aoutput[i] = instrument->tick();
3316- }
3317- }
3318- else
3319- {
3320- // memset(aoutput, 0, ksmps*sizef(MYFLT));
3321- for(size_t i = 0; i < ksmps; i++)
3322- {
3323- aoutput[i] = 0;
3324- }
3325- }
3326- return OK;
3327- }
3328-};
3329-
3330-extern "C"
3331-{
3332- OENTRY oentries[] =
3333- {
3334- {
3335- (char*)"STKBandedWG",
3336- sizeof(STKInstrumentAdapter<BandedWG>),
3337- 3,
3338- (char*)"a",
3339- (char*)"iiJJJJJJJJJJJJJJJJ",
3340- (SUBR) STKInstrumentAdapter<BandedWG>::init_,
3341- (SUBR) STKInstrumentAdapter<BandedWG>::kontrol_,
3342- 0,
3343- },
3344- {
3345- (char*)"STKBeeThree",
3346- sizeof(STKInstrumentAdapter<BeeThree>),
3347- 3,
3348- (char*)"a",
3349- (char*)"iiJJJJJJJJJJJJJJJJ",
3350- (SUBR) STKInstrumentAdapter<BeeThree>::init_,
3351- (SUBR) STKInstrumentAdapter<BeeThree>::kontrol_,
3352- 0,
3353- },
3354- {
3355- (char*)"STKBlowBotl",
3356- sizeof(STKInstrumentAdapter<BlowBotl>),
3357- 3,
3358- (char*)"a",
3359- (char*)"iiJJJJJJJJJJJJJJJJ",
3360- (SUBR) STKInstrumentAdapter<BlowBotl>::init_,
3361- (SUBR) STKInstrumentAdapter<BlowBotl>::kontrol_,
3362- 0,
3363- },
3364- {
3365- (char*)"STKBlowHole",
3366- sizeof(STKInstrumentAdapter1<BlowHole>),
3367- 3,
3368- (char*)"a",
3369- (char*)"iiJJJJJJJJJJJJJJJJ",
3370- (SUBR) STKInstrumentAdapter1<BlowHole>::init_,
3371- (SUBR) STKInstrumentAdapter1<BlowHole>::kontrol_,
3372- 0,
3373- },
3374- {
3375- (char*)"STKBowed",
3376- sizeof(STKInstrumentAdapter1<Bowed>),
3377- 3,
3378- (char*)"a",
3379- (char*)"iiJJJJJJJJJJJJJJJJ",
3380- (SUBR) STKInstrumentAdapter1<Bowed>::init_,
3381- (SUBR) STKInstrumentAdapter1<Bowed>::kontrol_,
3382- 0,
3383- },
3384- {
3385- (char*)"STKBrass",
3386- sizeof(STKInstrumentAdapter1<Brass>),
3387- 3,
3388- (char*)"a",
3389- (char*)"iiJJJJJJJJJJJJJJJJ",
3390- (SUBR) STKInstrumentAdapter1<Brass>::init_,
3391- (SUBR) STKInstrumentAdapter1<Brass>::kontrol_,
3392- 0,
3393- },
3394- {
3395- (char*)"STKClarinet",
3396- sizeof(STKInstrumentAdapter1<Clarinet>),
3397- 3,
3398- (char*)"a",
3399- (char*)"iiJJJJJJJJJJJJJJJJ",
3400- (SUBR) STKInstrumentAdapter1<Clarinet>::init_,
3401- (SUBR) STKInstrumentAdapter1<Clarinet>::kontrol_,
3402- 0,
3403- },
3404- {
3405- (char*)"STKDrummer",
3406- sizeof(STKInstrumentAdapter<Drummer>),
3407- 3,
3408- (char*)"a",
3409- (char*)"iiJJJJJJJJJJJJJJJJ",
3410- (SUBR) STKInstrumentAdapter<Drummer>::init_,
3411- (SUBR) STKInstrumentAdapter<Drummer>::kontrol_,
3412- 0,
3413- },
3414- {
3415- (char*)"STKFlute",
3416- sizeof(STKInstrumentAdapter1<Flute>),
3417- 3,
3418- (char*)"a",
3419- (char*)"iiJJJJJJJJJJJJJJJJ",
3420- (SUBR) STKInstrumentAdapter1<Flute>::init_,
3421- (SUBR) STKInstrumentAdapter1<Flute>::kontrol_,
3422- 0,
3423- },
3424- {
3425- (char*)"STKFMVoices",
3426- sizeof(STKInstrumentAdapter<FMVoices>),
3427- 3,
3428- (char*)"a",
3429- (char*)"iiJJJJJJJJJJJJJJJJ",
3430- (SUBR) STKInstrumentAdapter<FMVoices>::init_,
3431- (SUBR) STKInstrumentAdapter<FMVoices>::kontrol_,
3432- 0,
3433- },
3434- {
3435- (char*)"STKHevyMetl",
3436- sizeof(STKInstrumentAdapter<HevyMetl>),
3437- 3,
3438- (char*)"a",
3439- (char*)"iiJJJJJJJJJJJJJJJJ",
3440- (SUBR) STKInstrumentAdapter<HevyMetl>::init_,
3441- (SUBR) STKInstrumentAdapter<HevyMetl>::kontrol_,
3442- 0,
3443- },
3444- {
3445- (char*)"STKMandolin",
3446- sizeof(STKInstrumentAdapter1<Mandolin>),
3447- 3,
3448- (char*)"a",
3449- (char*)"iiJJJJJJJJJJJJJJJJ",
3450- (SUBR) STKInstrumentAdapter1<Mandolin>::init_,
3451- (SUBR) STKInstrumentAdapter1<Mandolin>::kontrol_,
3452- 0,
3453- },
3454- {
3455- (char*)"STKModalBar",
3456- sizeof(STKInstrumentAdapter<ModalBar>),
3457- 3,
3458- (char*)"a",
3459- (char*)"iiJJJJJJJJJJJJJJJJ",
3460- (SUBR) STKInstrumentAdapter<ModalBar>::init_,
3461- (SUBR) STKInstrumentAdapter<ModalBar>::kontrol_,
3462- 0,
3463- },
3464- {
3465- (char*)"STKMoog",
3466- sizeof(STKInstrumentAdapter<Moog>),
3467- 3,
3468- (char*)"a",
3469- (char*)"iiJJJJJJJJJJJJJJJJ",
3470- (SUBR) STKInstrumentAdapter<Moog>::init_,
3471- (SUBR) STKInstrumentAdapter<Moog>::kontrol_,
3472- 0,
3473- },
3474- {
3475- (char*)"STKPercFlut",
3476- sizeof(STKInstrumentAdapter<PercFlut>),
3477- 3,
3478- (char*)"a",
3479- (char*)"iiJJJJJJJJJJJJJJJJ",
3480- (SUBR) STKInstrumentAdapter<PercFlut>::init_,
3481- (SUBR) STKInstrumentAdapter<PercFlut>::kontrol_,
3482- 0,
3483- },
3484- {
3485- (char*)"STKPlucked",
3486- sizeof(STKInstrumentAdapter1<Plucked>),
3487- 3,
3488- (char*)"a",
3489- (char*)"iiJJJJJJJJJJJJJJJJ",
3490- (SUBR) STKInstrumentAdapter1<Plucked>::init_,
3491- (SUBR) STKInstrumentAdapter1<Plucked>::kontrol_,
3492- 0,
3493- },
3494- {
3495- (char*)"STKResonate",
3496- sizeof(STKInstrumentAdapter<Resonate>),
3497- 3,
3498- (char*)"a",
3499- (char*)"iiJJJJJJJJJJJJJJJJ",
3500- (SUBR) STKInstrumentAdapter<Resonate>::init_,
3501- (SUBR) STKInstrumentAdapter<Resonate>::kontrol_,
3502- 0,
3503- },
3504- {
3505- (char*)"STKRhodey",
3506- sizeof(STKInstrumentAdapter<Rhodey>),
3507- 3,
3508- (char*)"a",
3509- (char*)"iiJJJJJJJJJJJJJJJJ",
3510- (SUBR) STKInstrumentAdapter<Rhodey>::init_,
3511- (SUBR) STKInstrumentAdapter<Rhodey>::kontrol_,
3512- 0,
3513- },
3514- {
3515- (char*)"STKSaxofony",
3516- sizeof(STKInstrumentAdapter1<Saxofony>),
3517- 3,
3518- (char*)"a",
3519- (char*)"iiJJJJJJJJJJJJJJJJ",
3520- (SUBR) STKInstrumentAdapter1<Saxofony>::init_,
3521- (SUBR) STKInstrumentAdapter1<Saxofony>::kontrol_,
3522- 0,
3523- },
3524- {
3525- (char*)"STKShakers",
3526- sizeof(STKInstrumentAdapter<Shakers>),
3527- 3,
3528- (char*)"a",
3529- (char*)"iiJJJJJJJJJJJJJJJJ",
3530- (SUBR) STKInstrumentAdapter<Shakers>::init_,
3531- (SUBR) STKInstrumentAdapter<Shakers>::kontrol_,
3532- 0,
3533- },
3534- {
3535- (char*)"STKSimple",
3536- sizeof(STKInstrumentAdapter<Simple>),
3537- 3,
3538- (char*)"a",
3539- (char*)"iiJJJJJJJJJJJJJJJJ",
3540- (SUBR) STKInstrumentAdapter<Simple>::init_,
3541- (SUBR) STKInstrumentAdapter<Simple>::kontrol_,
3542- 0,
3543- },
3544- {
3545- (char*)"STKSitar",
3546- sizeof(STKInstrumentAdapter<Sitar>),
3547- 3,
3548- (char*)"a",
3549- (char*)"iiJJJJJJJJJJJJJJJJ",
3550- (SUBR) STKInstrumentAdapter<Sitar>::init_,
3551- (SUBR) STKInstrumentAdapter<Sitar>::kontrol_,
3552- 0,
3553- },
3554- {
3555- (char*)"STKStifKarp",
3556- sizeof(STKInstrumentAdapter1<StifKarp>),
3557- 3,
3558- (char*)"a",
3559- (char*)"iiJJJJJJJJJJJJJJJJ",
3560- (SUBR) STKInstrumentAdapter1<StifKarp>::init_,
3561- (SUBR) STKInstrumentAdapter1<StifKarp>::kontrol_,
3562- 0,
3563- },
3564- {
3565- (char*)"STKTubeBell",
3566- sizeof(STKInstrumentAdapter<TubeBell>),
3567- 3,
3568- (char*)"a",
3569- (char*)"iiJJJJJJJJJJJJJJJJ",
3570- (SUBR) STKInstrumentAdapter<TubeBell>::init_,
3571- (SUBR) STKInstrumentAdapter<TubeBell>::kontrol_,
3572- 0,
3573- },
3574- {
3575- (char*)"STKVoicForm",
3576- sizeof(STKInstrumentAdapter<VoicForm>),
3577- 3,
3578- (char*)"a",
3579- (char*)"iiJJJJJJJJJJJJJJJJ",
3580- (SUBR) STKInstrumentAdapter<VoicForm>::init_,
3581- (SUBR) STKInstrumentAdapter<VoicForm>::kontrol_,
3582- 0,
3583- },
3584- {
3585- (char*)"STKWhistle",
3586- sizeof(STKInstrumentAdapter<Whistle>),
3587- 3,
3588- (char*)"a",
3589- (char*)"iiJJJJJJJJJJJJJJJJ",
3590- (SUBR) STKInstrumentAdapter<Whistle>::init_,
3591- (SUBR) STKInstrumentAdapter<Whistle>::kontrol_,
3592- 0,
3593- },
3594- {
3595- (char*)"STKWurley",
3596- sizeof(STKInstrumentAdapter<Wurley>),
3597- 3,
3598- (char*)"a",
3599- (char*)"iiJJJJJJJJJJJJJJJJ",
3600- (SUBR) STKInstrumentAdapter<Wurley>::init_,
3601- (SUBR) STKInstrumentAdapter<Wurley>::kontrol_,
3602- 0,
3603- },
3604- {
3605- 0,
3606- 0,
3607- 0,
3608- 0,
3609- 0,
3610- 0,
3611- 0,
3612- 0,
3613- }
3614- };
3615-
3616- PUBLIC int csoundModuleCreate(CSOUND *csound)
3617- {
3618- return 0;
3619- }
3620-
3621- PUBLIC int csoundModuleInit(CSOUND *csound)
3622- {
3623- const char *path = csound->GetEnv(csound, "RAWWAVE_PATH");
3624- if(!path)
3625- {
3626- csound->ErrorMsg(csound,
3627- Str("Error: define environment variable RAWWAVE_PATH\n"
3628- "(points to rawwaves directory) to use STK opcodes."));
3629- return 0;
3630- }
3631- else
3632- {
3633- csound_global_mutex_lock();
3634- Stk::setRawwavePath(path);
3635- csound_global_mutex_unlock();
3636- csound->Message(csound,
3637- Str("RAWWAVE_PATH: %s\n"), Stk::rawwavePath().c_str());
3638- }
3639- int status = 0;
3640- for(OENTRY *oentry = &oentries[0]; oentry->opname; oentry++)
3641- {
3642- status |= csound->AppendOpcode(csound, oentry->opname,
3643- oentry->dsblksiz, oentry->thread,
3644- oentry->outypes, oentry->intypes,
3645- (int (*)(CSOUND*,void*)) oentry->iopadr,
3646- (int (*)(CSOUND*,void*)) oentry->kopadr,
3647- (int (*)(CSOUND*,void*)) oentry->aopadr);
3648- }
3649- return status;
3650- }
3651-
3652- PUBLIC int csoundModuleDestroy(CSOUND *csound)
3653- {
3654- if (getStkInstances().find(csound) != getStkInstances().end()) {
3655- for(size_t i = 0, n = getStkInstances()[csound].size(); i < n; ++i) {
3656- delete getStkInstances()[csound][i];
3657- }
3658- getStkInstances()[csound].clear();
3659- getStkInstances().erase(csound);
3660- }
3661- return 0;
3662- }
3663-
3664-}
3665-
3666
3667=== removed directory '.pc/2014-cmake-libsndfile-hack.patch'
3668=== removed file '.pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt'
3669--- .pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt 2012-06-16 10:01:58 +0000
3670+++ .pc/2014-cmake-libsndfile-hack.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000
3671@@ -1,856 +0,0 @@
3672-cmake_minimum_required(VERSION 2.6)
3673-
3674-project (Csound)
3675-
3676-message(STATUS "${CMAKE_HOME_DIRECTORY}")
3677-
3678-# Project definitions
3679-set(APIVERSION "5.2")
3680-
3681-# Relative install paths
3682-set(EXECUTABLE_INSTALL_DIR "bin")
3683-set(LIBRARY_INSTALL_DIR "lib")
3684-if(USE_DOUBLE)
3685- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}")
3686-else()
3687- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
3688-endif()
3689-set(PYTHON_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
3690-set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
3691-set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
3692-set(LOCALE_INSTALL_DIR "share/locale")
3693-set(HEADER_INSTALL_DIR "include/csound")
3694-
3695-include(TestBigEndian)
3696-include(CheckFunctionExists)
3697-include(CheckIncludeFile)
3698-include(CheckIncludeFileCXX)
3699-include(CheckLibraryExists)
3700-include(CMakeParseArguments)
3701-
3702-# Utility function to make plugins. All plugin targets should use this as it
3703-# sets up output directory set in top-level CmakeLists.txt
3704-# and adds the appropriate install target
3705-#
3706-# libname - name of library to produce
3707-# srcs - list of src files (must be quoted if a list)
3708-# extralibs (OPTIONAL) - extra libraries to link the plugin to
3709-#
3710-function(make_plugin libname srcs)
3711- if(APPLE)
3712- add_library(${libname} SHARED ${srcs})
3713- else()
3714- add_library(${libname} MODULE ${srcs})
3715- endif()
3716-
3717- set(i 2)
3718- while( ${i} LESS ${ARGC} )
3719- if(NOT MSVC OR NOT("${ARGV${i}}" MATCHES "m"))
3720- target_link_libraries(${libname} ${ARGV${i}})
3721- endif()
3722- math(EXPR i "${i}+1")
3723- endwhile()
3724-
3725- set_target_properties(${libname} PROPERTIES
3726- RUNTIME_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}
3727- LIBRARY_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}
3728- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR})
3729-
3730- install(TARGETS ${libname}
3731- LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}" )
3732-endfunction(make_plugin)
3733-# Utility function to make executables. All plugin targets should use this as it
3734-# sets up output directory set in top-level CmakeLists.txt
3735-# and adds an appropriate install target
3736-#
3737-# name - name of executable to produce
3738-# srcs - list of src files
3739-# libs - list of library files to link to
3740-# output_name (OPTIONAL) - overide the name of the generated executable
3741-#
3742-function(make_executable name srcs libs)
3743- add_executable(${name} ${srcs})
3744- target_link_libraries (${name} ${libs})
3745- set_target_properties(${name} PROPERTIES
3746- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR})
3747-
3748- if(${ARGC} EQUAL 4)
3749- set_target_properties(${name} PROPERTIES
3750- OUTPUT_NAME ${ARGV3})
3751- endif()
3752- install(TARGETS ${name}
3753- RUNTIME DESTINATION "${EXECUTABLE_INSTALL_DIR}" )
3754-endfunction(make_executable)
3755-
3756-
3757-# Utility function to make a utility executable
3758-#
3759-# name - name of executable to produce
3760-# srcs - list of src files
3761-
3762-function(make_utility name srcs)
3763- make_executable(${name} "${srcs}" "${CSOUNDLIB}")
3764- add_dependencies(${name} ${CSOUNDLIB})
3765-endfunction()
3766-
3767-
3768-# Expands a list into a space-separated string (outvar element1 ....)
3769-# Why do I have to do this? Cmake, you just lost one point
3770-function(expand_list out)
3771- set(i 1)
3772- set(tmp "")
3773- while( ${i} LESS ${ARGC} )
3774- set(tmp "${tmp} ${ARGV${i}}")
3775- math(EXPR i "${i}+1")
3776- endwhile()
3777- set(${out} "${tmp}" PARENT_SCOPE)
3778-endfunction(expand_list)
3779-
3780-# Checks if dependencies for an enabled target are fulfilled.
3781-# If FAIL_MISSING is true and the dependencies are not fulfilled,
3782-# it will abort the cmake run.
3783-# If FAIL_MISSING is false, it will set the option to OFF.
3784-# If the target is not enabled, it will do nothing.
3785-# example: check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE)
3786-function(check_deps option)
3787- if(${option})
3788- set(i 1)
3789- while( ${i} LESS ${ARGC} )
3790- set(dep ${ARGV${i}})
3791- if(NOT ${dep})
3792- if(FAIL_MISSING)
3793- message(FATAL_ERROR
3794- "${option} is enabled, but ${dep}=\"${${dep}}\"")
3795- else()
3796- message(STATUS "${dep}=\"${${dep}}\", so disabling ${option}")
3797- set(${option} OFF PARENT_SCOPE)
3798- # Set it in the local scope too
3799- set(${option} OFF)
3800- endif()
3801- endif()
3802- math(EXPR i "${i}+1")
3803- endwhile()
3804- endif()
3805- if(${option})
3806- message(STATUS "${option} is enabled")
3807- else()
3808- message(STATUS "${option} is disabled")
3809- endif()
3810-endfunction(check_deps)
3811-
3812-# Shortcut to add compiler flags
3813-# Mandatory arguments: the flags to add, should be passed before optional keywords, can be
3814-# passed as lists or space-separated
3815-# Optional keywords:
3816-# LINKER: add to linker instead of compile flags (LDFLAGS vs CFLAGS)
3817-# TARGETS <target1> <target2> ...
3818-# if specified, will add the flags to a target instead
3819-# of the global namespace
3820-function(add_compiler_flags)
3821- set(bool_options LINKER)
3822- set(multi_val_args TARGETS)
3823- cmake_parse_arguments(FLAGS "${bool_options}" "" "${multi_val_args}" ${ARGN})
3824-
3825- expand_list(FLAGS ${FLAGS_UNPARSED_ARGUMENTS})
3826-
3827- if(FLAGS_TARGETS)
3828- foreach(target ${FLAGS_TARGETS})
3829- if(NOT FLAGS_LINKER)
3830- set(property "COMPILE_FLAGS")
3831- else()
3832- set(property "LINK_FLAGS")
3833- endif()
3834- get_target_property(propval ${target} ${property})
3835- if(NOT propval)
3836- set(propval "")
3837- endif()
3838- set_target_properties(${target} PROPERTIES
3839- ${property} "${propval} ${FLAGS}")
3840- endforeach()
3841- else()
3842- if(FLAGS_LINKER)
3843- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAGS}")
3844- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAGS}")
3845- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAGS}")
3846- else()
3847- add_definitions("${FLAGS}")
3848- endif()
3849- endif()
3850-endfunction(add_compiler_flags)
3851-
3852-
3853-# Include this after the install path definitions so we can override them here.
3854-# Also after function definitions so we can use them there
3855-find_file(CUSTOM_CMAKE "Custom.cmake" HINTS ${CMAKE_HOME_DIRECTORY})
3856-if(CUSTOM_CMAKE)
3857- message(STATUS "Including Custom.cmake file: ${CUSTOM_CMAKE}")
3858- include(${CUSTOM_CMAKE})
3859-endif()
3860-
3861-
3862-if(WIN32 AND NOT MSVC)
3863- if(EXISTS "C:/MinGW/include")
3864- include_directories(C:/MinGW/include)
3865- else()
3866- MESSAGE(STATUS "MinGW include dir not found")
3867- endif()
3868-endif()
3869-
3870-if(WIN32)
3871- set(CMAKE_SHARED_LIBRARY_PREFIX "")
3872- set(CMAKE_SHARED_MODULE_PREFIX "")
3873-
3874- set(CSOUND_WINDOWS_LIBRARIES
3875- advapi32
3876- comctl32
3877- comdlg32
3878- glu32
3879- kernel32
3880- msvcrt
3881- odbc32
3882- odbccp32
3883- ole32
3884- oleaut32
3885- shell32
3886- user32
3887- uuid
3888- winmm
3889- winspool
3890- ws2_32
3891- wsock32
3892- advapi32
3893- comctl32
3894- comdlg32
3895- glu32
3896- kernel32
3897- odbc32
3898- odbccp32
3899- ole32
3900- oleaut32
3901- shell32
3902- user32
3903- uuid
3904- winmm
3905- winspool
3906- ws2_32
3907- wsock32
3908- pthread)
3909-
3910-endif(WIN32)
3911-
3912-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
3913- set(LINUX YES)
3914-else()
3915- set(LINUX NO)
3916-endif()
3917-
3918-## USER OPTIONS ##
3919-
3920-option(USE_DOUBLE "Set to use double-precision floating point for audio samples." ON)
3921-option(BUILD_UTILITIES "Build stand-alone executables for utilities that can also be used with -U" ON)
3922-
3923-option(BUILD_NEW_PARSER "Enable building new parser (requires Flex/Bison)" ON)
3924-option(NEW_PARSER_DEBUG "Enable tracing of new parser" OFF)
3925-
3926-option(BUILD_MULTI_CORE "Enable building for multicore system (requires BUILD_NEW_PARSER)" ON)
3927-
3928-option(FAIL_MISSING "Fail when a required external dependency is not present (useful for packagers)" OFF)
3929-
3930-option(USE_GETTEXT "Use the Gettext internationalization library" ON)
3931-
3932-option(BUILD_STATIC_LIBRARY "Also build a static version of the csound library" OFF)
3933-
3934-option(USE_OPEN_MP "Use OpenMP for Parallel Performance" ON)
3935-option(USE_LRINT "Use lrint/lrintf for converting floating point values to integers." ON)
3936-option(BUILD_RELEASE "Build for release" ON)
3937-# Optional targets, they should all default to ON (check_deps will disable them if not possible to build)
3938-
3939-
3940-set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
3941-
3942-# This needs to be here since _everybody_ needs this flag
3943-if(USE_DOUBLE)
3944- add_definitions("-DUSE_DOUBLE")
3945-endif(USE_DOUBLE)
3946-if(${CMAKE_C_COMPILER} MATCHES "gcc" AND LINUX)
3947- add_compiler_flags("-fvisibility=hidden")
3948- add_compiler_flags("-fvisibility=hidden" LINKER)
3949-endif()
3950-
3951-if(BUILD_RELEASE)
3952- add_definitions("-D_CSOUND_RELEASE_")
3953- if(LINUX)
3954- set(DEFAULT_OPCODEDIR "${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}")
3955- add_definitions("-DCS_DEFAULT_PLUGINDIR=\"${DEFAULT_OPCODEDIR}\"")
3956- endif()
3957-else()
3958- add_definitions("-DBETA")
3959-endif()
3960-
3961-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
3962- add_definitions("-Wno-format")
3963- add_compiler_flags("-g")
3964-endif()
3965-
3966-#if(USE_DOUBLE)
3967-# set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins64)
3968-#else()
3969-# set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins)
3970-#endif()
3971-
3972-set(BUILD_PLUGINS_DIR ${BUILD_DIR})
3973-set(BUILD_BIN_DIR ${BUILD_DIR})
3974-set(BUILD_LIB_DIR ${BUILD_DIR})
3975-
3976-message(STATUS "BUILD_BIN_DIR set to ${BUILD_BIN_DIR}")
3977-message(STATUS "BUILD_LIB_DIR set to ${BUILD_LIB_DIR}")
3978-message(STATUS "BUILD_PLUGINS_DIR set to ${BUILD_PLUGINS_DIR}")
3979-
3980-# OS specific checks
3981-
3982-TEST_BIG_ENDIAN(BIG_ENDIAN)
3983-
3984-## CONFIGURATION ##
3985-
3986-SET(BUILD_SHARED_LIBS ON)
3987-
3988-## HEADER/LIBRARY/OTHER CHECKS ##
3989-
3990-find_package(OpenMP)
3991-
3992-# First, required stuff
3993-find_library(LIBSNDFILE_LIBRARY sndfile)
3994-
3995-if(NOT LIBSNDFILE_LIBRARY AND WIN32)
3996-find_library(LIBSNDFILE_LIBRARY sndfile-1)
3997-endif()
3998-
3999-if(NOT LIBSNDFILE_LIBRARY)
4000- message(FATAL_ERROR "Csound requires the sndfile library")
4001-endif()
4002-
4003-find_path(SNDFILE_H_PATH sndfile.h)
4004-if(SNDFILE_H_PATH)
4005- include_directories(${SNDFILE_H_PATH})
4006-else()
4007- message(FATAL_ERROR "Could not find sndfile.h")
4008-endif()
4009-
4010-find_library(PTHREAD_LIBRARY pthread)
4011-
4012-if(NOT PTHREAD_LIBRARY AND WIN32)
4013- find_library(PTHREAD_LIBRARY pthreadGC2)
4014-endif()
4015-
4016-if(NOT PTHREAD_LIBRARY)
4017- message(FATAL_ERROR "Csound requires the pthread library")
4018-endif()
4019-
4020-set(CMAKE_REQUIRED_INCLUDES pthread.h)
4021-set(CMAKE_REQUIRED_LIBRARIES pthread)
4022-
4023-# Now, non required library searches #
4024-
4025-find_library(VORBISFILE_LIBRARY vorbisfile)
4026-check_include_file(libintl.h LIBINTL_HEADER)
4027-find_library(LIBINTL_LIBRARY intl)
4028-find_package(Gettext)
4029-check_library_exists(m lrint "" HAVE_LRINT)
4030-
4031-set(HEADERS_TO_CHECK
4032- unistd.h io.h fcntl.h stdint.h
4033- sys/time.h sys/types.h termios.h
4034- values.h winsock.h sys/socket.h
4035- dirent.h)
4036-
4037-foreach(header ${HEADERS_TO_CHECK})
4038- # Convert to uppercase and replace [./] with _
4039- string(TOUPPER ${header} tmp)
4040- string(REGEX REPLACE [./] "_" upper_header ${tmp})
4041- check_include_file(${header} HAVE_${upper_header})
4042-endforeach()
4043-
4044-check_deps(USE_LRINT HAVE_LRINT)
4045-if(USE_LRINT)
4046- add_definitions("-DUSE_LRINT")
4047-endif()
4048-
4049-# Flex/Bison for the new parser
4050-if(BUILD_NEW_PARSER)
4051- find_package(FLEX)
4052- find_package(BISON)
4053-endif()
4054-
4055-## MAIN TARGETS ##
4056-
4057-set(libcsound_CFLAGS -D__BUILDING_LIBCSOUND)
4058-
4059-include_directories(./H)
4060-include_directories(./Engine)
4061-
4062-#adding this for files that #include SDIF/sdif*
4063-include_directories(./)
4064-
4065-#checking pthread functions
4066-check_function_exists(pthread_spin_lock PTHREAD_SPIN_LOCK_EXISTS)
4067-check_function_exists(pthread_barrier_init PTHREAD_BARRIER_INIT_EXISTS)
4068-
4069-if(PTHREAD_SPIN_LOCK_EXISTS)
4070- list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_SPIN_LOCK)
4071-endif()
4072-
4073-if(PTHREAD_BARRIER_INIT_EXISTS)
4074- list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_BARRIER_INIT)
4075-endif()
4076-
4077-
4078-check_deps(USE_OPEN_MP OPENMP_FOUND PTHREAD_BARRIER_INIT_EXISTS)
4079-if(USE_OPEN_MP)
4080- list(APPEND libcsound_CFLAGS -DUSE_OPENMP)
4081- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
4082- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
4083-
4084- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}")
4085- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}")
4086-
4087-endif()
4088-
4089-
4090-#if(WIN32)
4091- include_directories(${LIBSNDFILE_INCLUDE_DIRECTORY})
4092-#endif(WIN32)
4093-
4094-
4095-# The csound library
4096-set(libcsound_SRCS
4097- Engine/auxfd.c
4098- Engine/cfgvar.c
4099- Engine/corfiles.c
4100- Engine/entry1.c
4101- Engine/envvar.c
4102- Engine/express.c
4103- Engine/extract.c
4104- Engine/fgens.c
4105- Engine/insert.c
4106- Engine/linevent.c
4107- Engine/memalloc.c
4108- Engine/memfiles.c
4109- Engine/musmon.c
4110- Engine/namedins.c
4111- Engine/otran.c
4112- Engine/rdorch.c
4113- Engine/rdscor.c
4114- Engine/scsort.c
4115- Engine/scxtract.c
4116- Engine/sort.c
4117- Engine/sread.c
4118- Engine/swrite.c
4119- Engine/swritestr.c
4120- Engine/twarp.c
4121- InOut/libsnd.c
4122- InOut/libsnd_u.c
4123- InOut/midifile.c
4124- InOut/midirecv.c
4125- InOut/midisend.c
4126- InOut/winascii.c
4127- InOut/windin.c
4128- InOut/window.c
4129- InOut/winEPS.c
4130- OOps/aops.c
4131- OOps/bus.c
4132- OOps/cmath.c
4133- OOps/diskin.c
4134- OOps/diskin2.c
4135- OOps/disprep.c
4136- OOps/dumpf.c
4137- OOps/fftlib.c
4138- OOps/goto_ops.c
4139- OOps/midiinterop.c
4140- OOps/midiops.c
4141- OOps/midiout.c
4142- OOps/mxfft.c
4143- OOps/oscils.c
4144- OOps/pstream.c
4145- OOps/pvfileio.c
4146- OOps/pvsanal.c
4147- OOps/random.c
4148- OOps/remote.c
4149- OOps/schedule.c
4150- OOps/sndinfUG.c
4151- OOps/str_ops.c
4152- OOps/ugens1.c
4153- OOps/ugens2.c
4154- OOps/ugens2a.c
4155- OOps/ugens3.c
4156- OOps/ugens4.c
4157- OOps/ugens5.c
4158- OOps/ugens6.c
4159- OOps/ugrw1.c
4160- OOps/ugrw2.c
4161- OOps/vdelay.c
4162- Opcodes/babo.c
4163- Opcodes/bilbar.c
4164- Opcodes/compress.c
4165- Opcodes/eqfil.c
4166- Opcodes/Vosim.c
4167- Opcodes/pitch.c
4168- Opcodes/pitch0.c
4169- Opcodes/spectra.c
4170- Opcodes/ambicode1.c
4171- Opcodes/sfont.c
4172- Opcodes/grain4.c
4173- Opcodes/hrtferX.c
4174- Opcodes/loscilx.c
4175- Opcodes/minmax.c
4176- Opcodes/pan2.c
4177- Opcodes/tabvars.c
4178- Opcodes/phisem.c
4179- Opcodes/hrtfopcodes.c
4180- Opcodes/stackops.c
4181- Opcodes/vbap.c
4182- Opcodes/vbap_eight.c
4183- Opcodes/vbap_four.c
4184- Opcodes/vbap_sixteen.c
4185- Opcodes/vbap_zak.c
4186- Opcodes/vaops.c
4187- Opcodes/ugakbari.c
4188- Opcodes/harmon.c
4189- Opcodes/pitchtrack.c
4190- Opcodes/partikkel.c
4191- Opcodes/shape.c
4192- Opcodes/tabsum.c
4193- Opcodes/crossfm.c
4194- Opcodes/pvlock.c
4195- Opcodes/fareyseq.c
4196- Opcodes/modmatrix.c
4197- Opcodes/scoreline.c
4198- Opcodes/modal4.c
4199- Opcodes/physutil.c
4200- Opcodes/physmod.c
4201- Opcodes/mandolin.c
4202- Opcodes/singwave.c
4203- Opcodes/fm4op.c
4204- Opcodes/moog1.c
4205- Opcodes/shaker.c
4206- Opcodes/bowedbar.c
4207- Opcodes/gab/tabmorph.c
4208- Opcodes/gab/hvs.c
4209- Opcodes/gab/sliderTable.c
4210- Opcodes/gab/newgabopc.c
4211- Opcodes/ftest.c
4212- Opcodes/hrtfearly.c
4213- Opcodes/hrtfreverb.c
4214- Opcodes/cpumeter.c
4215- Opcodes/gendy.c
4216- Opcodes/tl/sc_noise.c
4217- Top/argdecode.c
4218- Top/cscore_internal.c
4219- Top/cscorfns.c
4220- Top/csmodule.c
4221- Top/csound.c
4222- Top/getstring.c
4223- Top/main.c
4224- Top/new_opts.c
4225- Top/one_file.c
4226- Top/opcode.c
4227- Top/threads.c
4228- Top/utility.c)
4229-
4230-set(stdopcod_SRCS
4231- Opcodes/ambicode.c
4232- Opcodes/bbcut.c
4233- Opcodes/biquad.c
4234- Opcodes/butter.c
4235- Opcodes/clfilt.c
4236- Opcodes/cross2.c
4237- Opcodes/dam.c
4238- Opcodes/dcblockr.c
4239- Opcodes/filter.c
4240- Opcodes/flanger.c
4241- Opcodes/follow.c
4242- Opcodes/fout.c
4243- Opcodes/freeverb.c
4244- Opcodes/ftconv.c
4245- Opcodes/ftgen.c
4246- Opcodes/gab/gab.c
4247- Opcodes/gab/vectorial.c
4248- Opcodes/grain.c
4249- Opcodes/locsig.c
4250- Opcodes/lowpassr.c
4251- Opcodes/metro.c
4252- Opcodes/midiops2.c
4253- Opcodes/midiops3.c
4254- Opcodes/newfils.c
4255- Opcodes/nlfilt.c
4256- Opcodes/oscbnk.c
4257- Opcodes/pluck.c
4258- Opcodes/repluck.c
4259- Opcodes/reverbsc.c
4260- Opcodes/seqtime.c
4261- Opcodes/sndloop.c
4262- Opcodes/sndwarp.c
4263- Opcodes/space.c
4264- Opcodes/spat3d.c
4265- Opcodes/syncgrain.c
4266- Opcodes/ugens7.c
4267- Opcodes/ugens9.c
4268- Opcodes/ugensa.c
4269- Opcodes/uggab.c
4270- Opcodes/ugmoss.c
4271- Opcodes/ugnorman.c
4272- Opcodes/ugsc.c
4273- Opcodes/wave-terrain.c
4274- Opcodes/stdopcod.c)
4275-
4276-set(cs_pvs_ops_SRCS
4277- Opcodes/ifd.c
4278- Opcodes/partials.c
4279- Opcodes/psynth.c
4280- Opcodes/pvsbasic.c
4281- Opcodes/pvscent.c
4282- Opcodes/pvsdemix.c
4283- Opcodes/pvs_ops.c
4284- Opcodes/pvsband.c
4285- Opcodes/pvsbuffer.c)
4286-
4287-set(oldpvoc_SRCS
4288- Opcodes/dsputil.c
4289- Opcodes/pvadd.c
4290- Opcodes/pvinterp.c
4291- Opcodes/pvocext.c
4292- Opcodes/pvread.c
4293- Opcodes/ugens8.c
4294- Opcodes/vpvoc.c
4295- Opcodes/pvoc.c)
4296-
4297-set(mp3in_SRCS
4298- Opcodes/mp3in.c
4299- InOut/libmpadec/layer1.c
4300- InOut/libmpadec/layer2.c
4301- InOut/libmpadec/layer3.c
4302- InOut/libmpadec/synth.c
4303- InOut/libmpadec/tables.c
4304- InOut/libmpadec/mpadec.c
4305- InOut/libmpadec/mp3dec.c)
4306-
4307-
4308-list(APPEND libcsound_SRCS ${stdopcod_SRCS} ${cs_pvs_ops_SRCS} ${oldpvoc_SRCS} ${mp3in_SRCS})
4309-
4310-# Handling New Parser
4311-
4312-check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE)
4313-if(BUILD_NEW_PARSER)
4314- add_custom_target(NewParser echo "Creating parser.c")
4315-
4316- set(YACC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_orc.y)
4317- set(YACC_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_orcparse.c)
4318-
4319- set(LEX_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_orc.l)
4320- set(LEX_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_orclex.c)
4321-
4322- set(PRELEX_SRC ${CMAKE_CURRENT_SOURCE_DIR}/Engine/csound_pre.lex)
4323- set(PRELEX_OUT ${CMAKE_CURRENT_BINARY_DIR}/csound_prelex.c)
4324-
4325- add_custom_command(
4326- SOURCE ${LEX_SRC}
4327- COMMAND ${FLEX_EXECUTABLE} ARGS -B -t ${LEX_SRC} > ${LEX_OUT}
4328- TARGET NewParser
4329- OUTPUTS ${LEX_OUT})
4330-
4331- add_custom_command(
4332- SOURCE ${PRELEX_SRC}
4333- COMMAND ${FLEX_EXECUTABLE} ARGS -B ${PRELEX_SRC} > ${PRELEX_OUT}
4334- TARGET NewParser
4335- OUTPUTS ${PRELEX_OUT})
4336-
4337- add_custom_command(
4338- SOURCE ${YACC_SRC}
4339- COMMAND ${BISON_EXECUTABLE}
4340- ARGS -pcsound_orc -d --report=itemset -o ${YACC_OUT} ${YACC_SRC}
4341- TARGET NewParser
4342- DEPENDS ${LEX_OUT}
4343- OUTPUTS ${YACC_OUT})
4344-
4345- list(APPEND libcsound_SRCS
4346- ${LEX_OUT} ${YACC_OUT} ${PRELEX_OUT}
4347- Engine/csound_orc_semantics.c
4348- Engine/csound_orc_expressions.c
4349- Engine/csound_orc_optimize.c
4350- Engine/csound_orc_compile.c
4351- Engine/new_orc_parser.c
4352- Engine/symbtab.c)
4353-
4354- set_source_files_properties(${YACC_OUT} GENERATED)
4355- set_source_files_properties(${LEX_OUT} GENERATED)
4356-
4357- include_directories(${CMAKE_CURRENT_BINARY_DIR})
4358-
4359- list(APPEND libcsound_CFLAGS -DENABLE_NEW_PARSER)
4360-
4361- if(NEW_PARSER_DEBUG)
4362- message(STATUS "Building with new parser debugging")
4363- list(APPEND libcsound_CFLAGS -DPARSER_DEBUG=1)
4364- else()
4365- message(STATUS "Not building with new parser debugging")
4366- endif()
4367-
4368- if(BUILD_MULTI_CORE)
4369- message(STATUS "Building with multicore")
4370-
4371- list(APPEND libcsound_SRCS
4372- Engine/cs_par_base.c
4373- Engine/cs_par_orc_semantic_analysis.c
4374- Engine/cs_par_dispatch.c)
4375-
4376- list(APPEND libcsound_CFLAGS -DPARCS)
4377-
4378- else()
4379- message(STATUS "Not building with multicore")
4380- endif()
4381-
4382-endif()
4383-
4384-
4385-if(USE_DOUBLE)
4386- set(CSOUNDLIB "csound64")
4387-else()
4388- set(CSOUNDLIB "csound")
4389-endif()
4390-
4391-set(CSOUNDLIB_STATIC "${CSOUNDLIB}-static")
4392-
4393-
4394-add_library(${CSOUNDLIB} SHARED ${libcsound_SRCS})
4395-set_target_properties(${CSOUNDLIB} PROPERTIES
4396- # Do not pull extra libs when linking against shared libcsound
4397- # The shared library loader will do that for us
4398- LINK_INTERFACE_LIBRARIES ""
4399- SOVERSION ${APIVERSION})
4400-
4401-# Add the install target
4402-install(TARGETS ${CSOUNDLIB}
4403- LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}"
4404- ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}")
4405-
4406-set(libcsound_LIBS
4407- ${LIBSNDFILE_LIBRARY}
4408- ${PTHREAD_LIBRARY})
4409-
4410-if(WIN32)
4411- list(APPEND libcsound_LIBS "${CSOUND_WINDOWS_LIBRARIES}")
4412-endif()
4413-
4414-# Linux does not have a separate libintl, it is part of libc
4415-set(LIBINTL_AVAIL (LIBINTL_LIBRARY OR LINUX))
4416-check_deps(USE_GETTEXT LIBINTL_HEADER LIBINTL_AVAIL GETTEXT_MSGFMT_EXECUTABLE)
4417-if(USE_GETTEXT)
4418- message(STATUS "Using GNU Gettext")
4419- if(NOT LINUX)
4420- list(APPEND libcsound_LIBS ${LIBINTL_LIBRARY})
4421- endif()
4422- list(APPEND libcsound_CFLAGS -DGNU_GETTEXT)
4423-else()
4424- message(STATUS "Not using localization")
4425-endif()
4426-
4427-
4428-if(LINUX)
4429- message(STATUS "Building on Linux")
4430- add_definitions(-DLINUX)
4431- list(APPEND libcsound_LIBS m dl)
4432-endif()
4433-
4434-if(APPLE)
4435- message(STATUS "Building on OSX")
4436- add_definitions(-DMACOSX -DPIPES)
4437- list(APPEND libcsound_LIBS m dl)
4438-endif()
4439-
4440-if(WIN32)
4441- add_definitions(-DWIN32)
4442-endif()
4443-
4444-
4445-
4446-# Pass flags according to system capabilities
4447-
4448-if(HAVE_WINSOCK_H OR HAVE_SYS_SOCKETS_H)
4449- list(APPEND libcsound_CFLAGS -DHAVE_SOCKETS)
4450-endif()
4451-if(HAVE_DIRENT_H)
4452- list(APPEND libcsound_CFLAGS -DHAVE_DIRENT_H)
4453-endif()
4454-if(HAVE_FCNTL_H)
4455- list(APPEND libcsound_CFLAGS -DHAVE_FCNTL_H)
4456-endif()
4457-if(HAVE_UNISTD_H)
4458- list(APPEND libcsound_CFLAGS -DHAVE_UNISTD_H)
4459-endif()
4460-if(HAVE_STDINT_H)
4461- list(APPEND libcsound_CFLAGS -DHAVE_STDINT_H)
4462-endif()
4463-if(HAVE_SYS_TIME_H)
4464- list(APPEND libcsound_CFLAGS -DHAVE_SYS_TIME_H)
4465-endif()
4466-if(HAVE_SYS_TYPES_H)
4467- list(APPEND libcsound_CFLAGS -DHAVE_SYS_TYPES_H)
4468-endif()
4469-if(HAVE_TERMIOS_H)
4470- list(APPEND libcsound_CFLAGS -DHAVE_TERMIOS_H)
4471-endif()
4472-if(HAVE_VALUES_H)
4473- list(APPEND libcsound_CFLAGS -DHAVE_VALUES_H)
4474-endif()
4475-#if(CMAKE_C_COMPILER MATCHES "gcc")
4476-# list(APPEND libcsound_CFLAGS -fno-strict-aliasing)
4477-#endif()
4478-if(BIG_ENDIAN)
4479- list(APPEND libcsound_CFLAGS -DWORDS_BIGENDIAN)
4480-endif()
4481-
4482-add_compiler_flags(${libcsound_CFLAGS} TARGETS ${CSOUNDLIB})
4483-
4484-target_link_libraries(${CSOUNDLIB} ${libcsound_LIBS})
4485-
4486-set_target_properties(${CSOUNDLIB} PROPERTIES
4487- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
4488- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
4489- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
4490-
4491-if(BUILD_STATIC_LIBRARY)
4492- add_library(${CSOUNDLIB_STATIC} STATIC ${libcsound_SRCS})
4493- SET_TARGET_PROPERTIES(${CSOUNDLIB_STATIC} PROPERTIES OUTPUT_NAME ${CSOUNDLIB})
4494- SET_TARGET_PROPERTIES(${CSOUNDLIB_STATIC} PROPERTIES PREFIX "lib")
4495- add_compiler_flags(${libcsound_CFLAGS} TARGETS ${CSOUNDLIB_STATIC})
4496-
4497- target_link_libraries(${CSOUNDLIB_STATIC} ${libcsound_LIBS})
4498-
4499- set_target_properties(${CSOUNDLIB_STATIC} PROPERTIES
4500- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR}
4501- LIBRARY_OUTPUT_DIRECTORY ${BUILD_LIB_DIR}
4502- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_LIB_DIR})
4503-
4504- # Add the install target
4505- install(TARGETS ${CSOUNDLIB_STATIC}
4506- LIBRARY DESTINATION "${LIBRARY_INSTALL_DIR}"
4507- ARCHIVE DESTINATION "${LIBRARY_INSTALL_DIR}")
4508-endif()
4509-
4510-option(BUILD_CATALOG "Build the opcode/library catalog" OFF)
4511-check_deps(BUILD_CATALOG)
4512-if(BUILD_CATALOG)
4513-
4514-make_executable(mkdb "mkdb" "dl")
4515-set_target_properties(mkdb PROPERTIES LINKER_LANGUAGE C)
4516-endif()
4517-
4518-
4519-add_subdirectory(Opcodes)
4520-add_subdirectory(InOut)
4521-add_subdirectory(interfaces)
4522-add_subdirectory(frontends)
4523-add_subdirectory(util)
4524-add_subdirectory(util1)
4525-add_subdirectory(SDIF)
4526-add_subdirectory(po)
4527-add_subdirectory(H)
4528
4529=== removed directory '.pc/2020-libpthread-underlinkage.patch'
4530=== removed file '.pc/2020-libpthread-underlinkage.patch/CMakeLists.txt'
4531--- .pc/2020-libpthread-underlinkage.patch/CMakeLists.txt 2013-04-06 14:01:34 +0000
4532+++ .pc/2020-libpthread-underlinkage.patch/CMakeLists.txt 1970-01-01 00:00:00 +0000
4533@@ -1,864 +0,0 @@
4534-cmake_minimum_required(VERSION 2.6)
4535-
4536-project (Csound)
4537-
4538-message(STATUS "${CMAKE_HOME_DIRECTORY}")
4539-
4540-# Project definitions
4541-set(APIVERSION "5.2")
4542-
4543-# Relative install paths
4544-set(EXECUTABLE_INSTALL_DIR "bin")
4545-set(LIBRARY_INSTALL_DIR "lib")
4546-if(USE_DOUBLE)
4547- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins64-${APIVERSION}")
4548-else()
4549- set(PLUGIN_INSTALL_DIR "${LIBRARY_INSTALL_DIR}/csound/plugins-${APIVERSION}")
4550-endif()
4551-set(PYTHON_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
4552-set(JAVA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
4553-set(LUA_MODULE_INSTALL_DIR ${LIBRARY_INSTALL_DIR})
4554-set(LOCALE_INSTALL_DIR "share/locale")
4555-set(HEADER_INSTALL_DIR "include/csound")
4556-
4557-include(TestBigEndian)
4558-include(CheckFunctionExists)
4559-include(CheckIncludeFile)
4560-include(CheckIncludeFileCXX)
4561-include(CheckLibraryExists)
4562-include(CMakeParseArguments)
4563-
4564-# Utility function to make plugins. All plugin targets should use this as it
4565-# sets up output directory set in top-level CmakeLists.txt
4566-# and adds the appropriate install target
4567-#
4568-# libname - name of library to produce
4569-# srcs - list of src files (must be quoted if a list)
4570-# extralibs (OPTIONAL) - extra libraries to link the plugin to
4571-#
4572-function(make_plugin libname srcs)
4573- if(APPLE)
4574- add_library(${libname} SHARED ${srcs})
4575- else()
4576- add_library(${libname} MODULE ${srcs})
4577- endif()
4578-
4579- set(i 2)
4580- while( ${i} LESS ${ARGC} )
4581- if(NOT MSVC OR NOT("${ARGV${i}}" MATCHES "m"))
4582- target_link_libraries(${libname} ${ARGV${i}})
4583- endif()
4584- math(EXPR i "${i}+1")
4585- endwhile()
4586-
4587- set_target_properties(${libname} PROPERTIES
4588- RUNTIME_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}
4589- LIBRARY_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR}
4590- ARCHIVE_OUTPUT_DIRECTORY ${BUILD_PLUGINS_DIR})
4591-
4592- install(TARGETS ${libname}
4593- LIBRARY DESTINATION "${PLUGIN_INSTALL_DIR}" )
4594-endfunction(make_plugin)
4595-# Utility function to make executables. All plugin targets should use this as it
4596-# sets up output directory set in top-level CmakeLists.txt
4597-# and adds an appropriate install target
4598-#
4599-# name - name of executable to produce
4600-# srcs - list of src files
4601-# libs - list of library files to link to
4602-# output_name (OPTIONAL) - overide the name of the generated executable
4603-#
4604-function(make_executable name srcs libs)
4605- add_executable(${name} ${srcs})
4606- target_link_libraries (${name} ${libs})
4607- set_target_properties(${name} PROPERTIES
4608- RUNTIME_OUTPUT_DIRECTORY ${BUILD_BIN_DIR})
4609-
4610- if(${ARGC} EQUAL 4)
4611- set_target_properties(${name} PROPERTIES
4612- OUTPUT_NAME ${ARGV3})
4613- endif()
4614- install(TARGETS ${name}
4615- RUNTIME DESTINATION "${EXECUTABLE_INSTALL_DIR}" )
4616-endfunction(make_executable)
4617-
4618-
4619-# Utility function to make a utility executable
4620-#
4621-# name - name of executable to produce
4622-# srcs - list of src files
4623-
4624-function(make_utility name srcs)
4625- make_executable(${name} "${srcs}" "${CSOUNDLIB}")
4626- add_dependencies(${name} ${CSOUNDLIB})
4627-endfunction()
4628-
4629-
4630-# Expands a list into a space-separated string (outvar element1 ....)
4631-# Why do I have to do this? Cmake, you just lost one point
4632-function(expand_list out)
4633- set(i 1)
4634- set(tmp "")
4635- while( ${i} LESS ${ARGC} )
4636- set(tmp "${tmp} ${ARGV${i}}")
4637- math(EXPR i "${i}+1")
4638- endwhile()
4639- set(${out} "${tmp}" PARENT_SCOPE)
4640-endfunction(expand_list)
4641-
4642-# Checks if dependencies for an enabled target are fulfilled.
4643-# If FAIL_MISSING is true and the dependencies are not fulfilled,
4644-# it will abort the cmake run.
4645-# If FAIL_MISSING is false, it will set the option to OFF.
4646-# If the target is not enabled, it will do nothing.
4647-# example: check_deps(BUILD_NEW_PARSER FLEX_EXECUTABLE BISON_EXECUTABLE)
4648-function(check_deps option)
4649- if(${option})
4650- set(i 1)
4651- while( ${i} LESS ${ARGC} )
4652- set(dep ${ARGV${i}})
4653- if(NOT ${dep})
4654- if(FAIL_MISSING)
4655- message(FATAL_ERROR
4656- "${option} is enabled, but ${dep}=\"${${dep}}\"")
4657- else()
4658- message(STATUS "${dep}=\"${${dep}}\", so disabling ${option}")
4659- set(${option} OFF PARENT_SCOPE)
4660- # Set it in the local scope too
4661- set(${option} OFF)
4662- endif()
4663- endif()
4664- math(EXPR i "${i}+1")
4665- endwhile()
4666- endif()
4667- if(${option})
4668- message(STATUS "${option} is enabled")
4669- else()
4670- message(STATUS "${option} is disabled")
4671- endif()
4672-endfunction(check_deps)
4673-
4674-# Shortcut to add compiler flags
4675-# Mandatory arguments: the flags to add, should be passed before optional keywords, can be
4676-# passed as lists or space-separated
4677-# Optional keywords:
4678-# LINKER: add to linker instead of compile flags (LDFLAGS vs CFLAGS)
4679-# TARGETS <target1> <target2> ...
4680-# if specified, will add the flags to a target instead
4681-# of the global namespace
4682-function(add_compiler_flags)
4683- set(bool_options LINKER)
4684- set(multi_val_args TARGETS)
4685- cmake_parse_arguments(FLAGS "${bool_options}" "" "${multi_val_args}" ${ARGN})
4686-
4687- expand_list(FLAGS ${FLAGS_UNPARSED_ARGUMENTS})
4688-
4689- if(FLAGS_TARGETS)
4690- foreach(target ${FLAGS_TARGETS})
4691- if(NOT FLAGS_LINKER)
4692- set(property "COMPILE_FLAGS")
4693- else()
4694- set(property "LINK_FLAGS")
4695- endif()
4696- get_target_property(propval ${target} ${property})
4697- if(NOT propval)
4698- set(propval "")
4699- endif()
4700- set_target_properties(${target} PROPERTIES
4701- ${property} "${propval} ${FLAGS}")
4702- endforeach()
4703- else()
4704- if(FLAGS_LINKER)
4705- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAGS}")
4706- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAGS}")
4707- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAGS}")
4708- else()
4709- add_definitions("${FLAGS}")
4710- endif()
4711- endif()
4712-endfunction(add_compiler_flags)
4713-
4714-
4715-# Include this after the install path definitions so we can override them here.
4716-# Also after function definitions so we can use them there
4717-find_file(CUSTOM_CMAKE "Custom.cmake" HINTS ${CMAKE_HOME_DIRECTORY})
4718-if(CUSTOM_CMAKE)
4719- message(STATUS "Including Custom.cmake file: ${CUSTOM_CMAKE}")
4720- include(${CUSTOM_CMAKE})
4721-endif()
4722-
4723-
4724-if(WIN32 AND NOT MSVC)
4725- if(EXISTS "C:/MinGW/include")
4726- include_directories(C:/MinGW/include)
4727- else()
4728- MESSAGE(STATUS "MinGW include dir not found")
4729- endif()
4730-endif()
4731-
4732-if(WIN32)
4733- set(CMAKE_SHARED_LIBRARY_PREFIX "")
4734- set(CMAKE_SHARED_MODULE_PREFIX "")
4735-
4736- set(CSOUND_WINDOWS_LIBRARIES
4737- advapi32
4738- comctl32
4739- comdlg32
4740- glu32
4741- kernel32
4742- msvcrt
4743- odbc32
4744- odbccp32
4745- ole32
4746- oleaut32
4747- shell32
4748- user32
4749- uuid
4750- winmm
4751- winspool
4752- ws2_32
4753- wsock32
4754- advapi32
4755- comctl32
4756- comdlg32
4757- glu32
4758- kernel32
4759- odbc32
4760- odbccp32
4761- ole32
4762- oleaut32
4763- shell32
4764- user32
4765- uuid
4766- winmm
4767- winspool
4768- ws2_32
4769- wsock32
4770- pthread)
4771-
4772-endif(WIN32)
4773-
4774-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
4775- set(LINUX YES)
4776-else()
4777- set(LINUX NO)
4778-endif()
4779-
4780-## USER OPTIONS ##
4781-
4782-option(USE_DOUBLE "Set to use double-precision floating point for audio samples." ON)
4783-option(BUILD_UTILITIES "Build stand-alone executables for utilities that can also be used with -U" ON)
4784-
4785-option(BUILD_NEW_PARSER "Enable building new parser (requires Flex/Bison)" ON)
4786-option(NEW_PARSER_DEBUG "Enable tracing of new parser" OFF)
4787-
4788-option(BUILD_MULTI_CORE "Enable building for multicore system (requires BUILD_NEW_PARSER)" ON)
4789-
4790-option(FAIL_MISSING "Fail when a required external dependency is not present (useful for packagers)" OFF)
4791-
4792-option(USE_GETTEXT "Use the Gettext internationalization library" ON)
4793-
4794-option(BUILD_STATIC_LIBRARY "Also build a static version of the csound library" OFF)
4795-
4796-option(USE_OPEN_MP "Use OpenMP for Parallel Performance" ON)
4797-option(USE_LRINT "Use lrint/lrintf for converting floating point values to integers." ON)
4798-option(BUILD_RELEASE "Build for release" ON)
4799-# Optional targets, they should all default to ON (check_deps will disable them if not possible to build)
4800-
4801-
4802-set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
4803-
4804-# This needs to be here since _everybody_ needs this flag
4805-if(USE_DOUBLE)
4806- add_definitions("-DUSE_DOUBLE")
4807-endif(USE_DOUBLE)
4808-if(${CMAKE_C_COMPILER} MATCHES "gcc" AND LINUX)
4809- add_compiler_flags("-fvisibility=hidden")
4810- add_compiler_flags("-fvisibility=hidden" LINKER)
4811-endif()
4812-
4813-if(BUILD_RELEASE)
4814- add_definitions("-D_CSOUND_RELEASE_")
4815- if(LINUX)
4816- set(DEFAULT_OPCODEDIR "${CMAKE_INSTALL_PREFIX}/${PLUGIN_INSTALL_DIR}")
4817- add_definitions("-DCS_DEFAULT_PLUGINDIR=\"${DEFAULT_OPCODEDIR}\"")
4818- endif()
4819-else()
4820- add_definitions("-DBETA")
4821-endif()
4822-
4823-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
4824- add_definitions("-Wno-format")
4825- add_compiler_flags("-g")
4826-endif()
4827-
4828-#if(USE_DOUBLE)
4829-# set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins64)
4830-#else()
4831-# set(BUILD_PLUGINS_DIR ${BUILD_DIR}/plugins)
4832-#endif()
4833-
4834-set(BUILD_PLUGINS_DIR ${BUILD_DIR})
4835-set(BUILD_BIN_DIR ${BUILD_DIR})
4836-set(BUILD_LIB_DIR ${BUILD_DIR})
4837-
4838-message(STATUS "BUILD_BIN_DIR set to ${BUILD_BIN_DIR}")
4839-message(STATUS "BUILD_LIB_DIR set to ${BUILD_LIB_DIR}")
4840-message(STATUS "BUILD_PLUGINS_DIR set to ${BUILD_PLUGINS_DIR}")
4841-
4842-# OS specific checks
4843-
4844-TEST_BIG_ENDIAN(BIG_ENDIAN)
4845-
4846-## CONFIGURATION ##
4847-
4848-SET(BUILD_SHARED_LIBS ON)
4849-
4850-## HEADER/LIBRARY/OTHER CHECKS ##
4851-
4852-find_package(OpenMP)
4853-
4854-# First, required stuff
4855-find_library(LIBSNDFILE_LIBRARY sndfile)
4856-
4857-if(NOT LIBSNDFILE_LIBRARY AND WIN32)
4858-find_library(LIBSNDFILE_LIBRARY sndfile-1)
4859-endif()
4860-
4861-if(NOT LIBSNDFILE_LIBRARY)
4862- message(FATAL_ERROR "Csound requires the sndfile library")
4863-endif()
4864-
4865-find_path(SNDFILE_H_PATH sndfile.h)
4866-if(SNDFILE_H_PATH)
4867- include_directories(${SNDFILE_H_PATH})
4868-else()
4869- message(FATAL_ERROR "Could not find sndfile.h")
4870-endif()
4871-
4872-find_library(PTHREAD_LIBRARY pthread)
4873-
4874-if(NOT PTHREAD_LIBRARY AND WIN32)
4875- find_library(PTHREAD_LIBRARY pthreadGC2)
4876-endif()
4877-
4878-if(NOT PTHREAD_LIBRARY)
4879- message(FATAL_ERROR "Csound requires the pthread library")
4880-endif()
4881-
4882-set(CMAKE_REQUIRED_INCLUDES pthread.h)
4883-set(CMAKE_REQUIRED_LIBRARIES pthread)
4884-
4885-# Now, non required library searches #
4886-
4887-find_library(VORBISFILE_LIBRARY vorbisfile)
4888-check_include_file(libintl.h LIBINTL_HEADER)
4889-find_library(LIBINTL_LIBRARY intl)
4890-find_package(Gettext)
4891-check_library_exists(m lrint "" HAVE_LRINT)
4892-
4893-set(HEADERS_TO_CHECK
4894- unistd.h io.h fcntl.h stdint.h
4895- sys/time.h sys/types.h termios.h
4896- values.h winsock.h sys/socket.h
4897- dirent.h)
4898-
4899-foreach(header ${HEADERS_TO_CHECK})
4900- # Convert to uppercase and replace [./] with _
4901- string(TOUPPER ${header} tmp)
4902- string(REGEX REPLACE [./] "_" upper_header ${tmp})
4903- check_include_file(${header} HAVE_${upper_header})
4904-endforeach()
4905-
4906-check_deps(USE_LRINT HAVE_LRINT)
4907-if(USE_LRINT)
4908- add_definitions("-DUSE_LRINT")
4909-endif()
4910-
4911-# Flex/Bison for the new parser
4912-if(BUILD_NEW_PARSER)
4913- find_package(FLEX)
4914- find_package(BISON)
4915-endif()
4916-
4917-## MAIN TARGETS ##
4918-
4919-set(libcsound_CFLAGS -D__BUILDING_LIBCSOUND)
4920-
4921-include_directories(./H)
4922-include_directories(./Engine)
4923-
4924-#adding this for files that #include SDIF/sdif*
4925-include_directories(./)
4926-
4927-#checking pthread functions
4928-check_function_exists(pthread_spin_lock PTHREAD_SPIN_LOCK_EXISTS)
4929-check_function_exists(pthread_barrier_init PTHREAD_BARRIER_INIT_EXISTS)
4930-
4931-if(PTHREAD_SPIN_LOCK_EXISTS)
4932- list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_SPIN_LOCK)
4933-endif()
4934-
4935-if(PTHREAD_BARRIER_INIT_EXISTS)
4936- list(APPEND libcsound_CFLAGS -DHAVE_PTHREAD_BARRIER_INIT)
4937-endif()
4938-
4939-
4940-check_deps(USE_OPEN_MP OPENMP_FOUND PTHREAD_BARRIER_INIT_EXISTS)
4941-if(USE_OPEN_MP)
4942- list(APPEND libcsound_CFLAGS -DUSE_OPENMP)
4943- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
4944- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
4945-
4946- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}")
4947- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}")
4948-
4949-endif()
4950-
4951-
4952-#if(WIN32)
4953- include_directories(${LIBSNDFILE_INCLUDE_DIRECTORY})
4954-#endif(WIN32)
4955-
4956-
4957-# The csound library
4958-set(libcsound_SRCS
4959- Engine/auxfd.c
4960- Engine/cfgvar.c
4961- Engine/corfiles.c
4962- Engine/entry1.c
4963- Engine/envvar.c
4964- Engine/express.c
4965- Engine/extract.c
4966- Engine/fgens.c
4967- Engine/insert.c
4968- Engine/linevent.c
4969- Engine/memalloc.c
4970- Engine/memfiles.c
4971- Engine/musmon.c
4972- Engine/namedins.c
4973- Engine/otran.c
4974- Engine/rdorch.c
4975- Engine/rdscor.c
4976- Engine/scsort.c
4977- Engine/scxtract.c
4978- Engine/sort.c
4979- Engine/sread.c
4980- Engine/swrite.c
4981- Engine/swritestr.c
4982- Engine/twarp.c
4983- InOut/libsnd.c
4984- InOut/libsnd_u.c
4985- InOut/midifile.c
4986- InOut/midirecv.c
4987- InOut/midisend.c
4988- InOut/winascii.c
4989- InOut/windin.c
4990- InOut/window.c
4991- InOut/winEPS.c
4992- OOps/aops.c
4993- OOps/bus.c
4994- OOps/cmath.c
4995- OOps/diskin.c
4996- OOps/diskin2.c
4997- OOps/disprep.c
4998- OOps/dumpf.c
4999- OOps/fftlib.c
5000- OOps/goto_ops.c
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: