amarchheda commited on
Commit
83418c6
1 Parent(s): 2cf0437

inital commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +6 -7
  2. app.py +194 -0
  3. chunk_try/.DS_Store +0 -0
  4. chunk_try/Eminem, Juice WRLD - Godzilla (feat. Juice WRLD).mp3 +3 -0
  5. chunk_try/Imagine Dragons - Bones.mp3 +3 -0
  6. chunk_try/Indila - Tourner Dans Le Vide.mp3 +3 -0
  7. chunk_try/Mohit Chauhan - Masakali.mp3 +3 -0
  8. chunk_try/Sanam - Gulabi Aankhen.mp3 +3 -0
  9. chunk_try/Sohail Sen,Benny Dayal,Aditi Singh Sharma,Irshad Kamil - Choomantar.mp3 +3 -0
  10. chunk_try/stephen sanchez, em beihold - until i found you.mp3 +3 -0
  11. dict.pickle +3 -0
  12. embdmodel_1.hdf5 +3 -0
  13. package.json +75 -0
  14. packages.txt +7 -0
  15. portaudio/.editorconfig +13 -0
  16. portaudio/.gitattributes +43 -0
  17. portaudio/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
  18. portaudio/.github/workflows/MSBuild.yml +96 -0
  19. portaudio/.github/workflows/c-cpp.yml +54 -0
  20. portaudio/.gitignore +52 -0
  21. portaudio/CMakeLists.txt +487 -0
  22. portaudio/Doxyfile +239 -0
  23. portaudio/Doxyfile.developer +242 -0
  24. portaudio/LICENSE.txt +81 -0
  25. portaudio/Makefile.in +258 -0
  26. portaudio/README.configure.txt +32 -0
  27. portaudio/README.md +62 -0
  28. portaudio/SConstruct +197 -0
  29. portaudio/aclocal.m4 +0 -0
  30. portaudio/bindings/cpp/AUTHORS +0 -0
  31. portaudio/bindings/cpp/COPYING +31 -0
  32. portaudio/bindings/cpp/ChangeLog +178 -0
  33. portaudio/bindings/cpp/INSTALL +370 -0
  34. portaudio/bindings/cpp/Makefile.am +7 -0
  35. portaudio/bindings/cpp/Makefile.in +848 -0
  36. portaudio/bindings/cpp/NEWS +0 -0
  37. portaudio/bindings/cpp/README +0 -0
  38. portaudio/bindings/cpp/SConscript +65 -0
  39. portaudio/bindings/cpp/aclocal.m4 +0 -0
  40. portaudio/bindings/cpp/bin/Makefile.am +9 -0
  41. portaudio/bindings/cpp/bin/Makefile.in +618 -0
  42. portaudio/bindings/cpp/build/gnu/Makefile.in +106 -0
  43. portaudio/bindings/cpp/build/gnu/OUT_OF_DATE +0 -0
  44. portaudio/bindings/cpp/build/gnu/aclocal.m4 +57 -0
  45. portaudio/bindings/cpp/build/gnu/config.guess +0 -0
  46. portaudio/bindings/cpp/build/gnu/config.sub +0 -0
  47. portaudio/bindings/cpp/build/gnu/configure +0 -0
  48. portaudio/bindings/cpp/build/gnu/configure.ac +214 -0
  49. portaudio/bindings/cpp/build/gnu/install-sh +0 -0
  50. portaudio/bindings/cpp/build/vc6/devs_example.dsp +248 -0
README.md CHANGED
@@ -1,13 +1,12 @@
1
  ---
2
- title: ChordDuplicate
3
- emoji: 💻
4
- colorFrom: blue
5
- colorTo: blue
6
- sdk: gradio
7
- sdk_version: 3.27.0
8
  app_file: app.py
9
  pinned: false
10
- license: apache-2.0
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Chord
3
+ emoji: 👁
4
+ colorFrom: red
5
+ colorTo: green
6
+ sdk: streamlit
7
+ sdk_version: 1.17.0
8
  app_file: app.py
9
  pinned: false
 
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import numpy as np
3
+ import tensorflow as tf
4
+ from scipy.io.wavfile import write
5
+ import keras.backend as K
6
+ import librosa.display
7
+ import cv2
8
+ import librosa
9
+ import matplotlib.pyplot as plt
10
+ import librosa.display
11
+ import numpy as np
12
+ from keras.applications import VGG16
13
+ import os
14
+ import scipy
15
+ import gradio as gr
16
+
17
+ # Load the tune recognition model
18
+ model = tf.keras.models.load_model('embdmodel_1.hdf5')
19
+ embedding_model=model.layers[2]
20
+
21
+ DURATION = 10
22
+ WAVE_OUTPUT_FILE = "my_audio.wav"
23
+
24
+
25
+ # Define function to preprocess input audio
26
+ #convert song to mel spectogram as siamese network doesn't work on sound directly
27
+ def create_spectrogram(clip,sample_rate,save_path):
28
+ plt.interactive(False)
29
+ fig=plt.figure(figsize=[0.72,0.72])
30
+ S=librosa.feature.melspectrogram(y=clip,sr=sample_rate)
31
+ librosa.display.specshow(librosa.power_to_db(S,ref=np.max))
32
+ fig.savefig(save_path,dpi=400,bbox_inches='tight',pad_inches=0)
33
+ plt.close()
34
+ fig.clf()
35
+ plt.close(fig)
36
+ plt.close('all')
37
+ del save_path,clip,sample_rate,fig,S
38
+
39
+ def load_img(path):
40
+ img=cv2.imread(path)
41
+ img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
42
+ img=cv2.resize(img,(150,150))
43
+ return img
44
+
45
+
46
+ import pickle
47
+ with open('dict.pickle', 'rb') as handle:
48
+ songspecdict = pickle.load(handle)
49
+
50
+
51
+ def list_file_sizes():
52
+ path = "."
53
+
54
+ # Get list of all files only in the given directory
55
+ fun = lambda x : os.path.isfile(os.path.join(path,x))
56
+ files_list = filter(fun, os.listdir(path))
57
+
58
+ # Create a list of files in directory along with the size
59
+ size_of_file = [
60
+ (f,os.stat(os.path.join(path, f)).st_size)
61
+ for f in files_list
62
+ ]
63
+ # Iterate over list of files along with size
64
+ # and print them one by one.
65
+ for f,s in size_of_file:
66
+ print("{} : {}MB".format(f, round(s/(1024*1024),3)))
67
+
68
+ css = """
69
+ footer {display:none !important}
70
+ .output-markdown{display:none !important}
71
+ button.primary {
72
+ z-index: 14;
73
+ left: 0px;
74
+ top: 0px;
75
+ cursor: pointer !important;
76
+ background: none rgb(17, 20, 45) !important;
77
+ border: none !important;
78
+ color: rgb(255, 255, 255) !important;
79
+ line-height: 1 !important;
80
+ border-radius: 6px !important;
81
+ transition: box-shadow 200ms ease 0s, background 200ms ease 0s !important;
82
+ box-shadow: none !important;
83
+ }
84
+ button.primary:hover{
85
+ z-index: 14;
86
+ left: 0px;
87
+ top: 0px;
88
+ cursor: pointer !important;
89
+ background: none rgb(37, 56, 133) !important;
90
+ border: none !important;
91
+ color: rgb(255, 255, 255) !important;
92
+ line-height: 1 !important;
93
+ border-radius: 6px !important;
94
+ transition: box-shadow 200ms ease 0s, background 200ms ease 0s !important;
95
+ box-shadow: rgb(0 0 0 / 23%) 0px 1px 7px 0px !important;
96
+ }
97
+ button.gallery-item:hover {
98
+ border-color: rgb(37 56 133) !important;
99
+ background-color: rgb(229,225,255) !important;
100
+ }
101
+ """
102
+
103
+ def main(audio):
104
+
105
+ with open(WAVE_OUTPUT_FILE, "wb") as file:
106
+ file.write(audio)
107
+
108
+ list_file_sizes()
109
+
110
+ # Load the song to match
111
+ song, sr = librosa.load("my_audio.wav")
112
+ to_match = np.copy(song[0:220500])
113
+ print("Loaded data into librosa...")
114
+
115
+ # Create spectrogram image of the song to match
116
+ create_spectrogram(to_match, sr, 'test.png')
117
+ print("Created spectogram...")
118
+
119
+ # Load the spectrogram image of the song to match
120
+ to_match_img = load_img('test.png')
121
+ to_match_img = np.expand_dims(to_match_img, axis=0)
122
+ print("Loaded spectrum image...")
123
+
124
+ # Get the embedding of the song to match
125
+ to_match_emb = embedding_model.predict(to_match_img)
126
+ print("Get song embedding...")
127
+
128
+ # Calculate the distances between the song to match and the songs in the database
129
+ songsdistdict = {}
130
+ for key, values in songspecdict.items():
131
+ dist_array = []
132
+ for embd in values:
133
+ dist_array.append(np.linalg.norm(to_match_emb - embd))
134
+
135
+ songsdistdict[key] = min(dist_array)
136
+ song_titles=list(songsdistdict.keys())
137
+ distances=list(songsdistdict.values())
138
+
139
+ # Get the title and artist of the recognized song
140
+ recognized_song_artist, recognized_song_title = song_titles[distances.index(min(distances))].split('-')
141
+ recognized_song_title = os.path.splitext(recognized_song_title)[0]
142
+ print(f'Artist: {recognized_song_artist}')
143
+ print(f'Title: {recognized_song_title}')
144
+
145
+ from musixmatch import Musixmatch
146
+
147
+ # Initialize Musixmatch API
148
+ musixmatch = Musixmatch(apikey='2b0d0615efa782e95598a0e99bda4a60')
149
+
150
+ # Search for the recognized song
151
+ track_search_results = musixmatch.track_search(q_track=recognized_song_title, q_artist=recognized_song_artist, page_size=1, page=1, s_track_rating='desc')
152
+
153
+ if track_search_results['message']['header']['status_code'] == 200:
154
+ # Get the track ID for the top result
155
+ track_id = track_search_results['message']['body']['track_list'][0]['track']['track_id']
156
+
157
+ # Get the lyrics for the recognized song
158
+ lyrics_result = musixmatch.track_lyrics_get(track_id=track_id)
159
+
160
+ if lyrics_result['message']['header']['status_code'] == 200:
161
+ # Get the lyrics
162
+ lyrics = lyrics_result['message']['body']['lyrics']['lyrics_body']
163
+ # Remove the annotation tags from the lyrics
164
+ lyrics = lyrics.replace('******* This Lyrics is NOT for Commercial use *******', '').strip()
165
+ print("Lyrics:\n", lyrics)
166
+ else:
167
+ print("Couldn't find lyrics for the recognized song.")
168
+
169
+
170
+
171
+ # Play the recognized song
172
+ recognized_song_file = f'https://huggingface.co/spaces/prerna9811/Chord/tree/main/seismese_net_songs/{song_titles[distances.index(min(distances))]}'
173
+ recognized_song_audio, recognized_song_sr = librosa.load(recognized_song_file)
174
+
175
+ audio_file = open(recognized_song_file, 'rb') # enter the filename with filepath
176
+ audio_bytes = audio_file.read() # reading the file
177
+
178
+ return audio_bytes
179
+
180
+
181
+
182
+ if __name__ == '__main__':
183
+
184
+ demo = gr.Blocks()
185
+ mf_transcribe = gr.Interface(
186
+ fn=main,
187
+ inputs=gr.inputs.Audio(source="microphone", type="filepath"),
188
+ outputs="audio",
189
+ layout="horizontal",
190
+ theme="huggingface",
191
+ allow_flagging="never",
192
+ css = css
193
+ )
194
+ mf_transcribe.launch()
chunk_try/.DS_Store ADDED
Binary file (6.15 kB). View file
 
chunk_try/Eminem, Juice WRLD - Godzilla (feat. Juice WRLD).mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a45a039008be03c7a01a18491aca4876b3c174c66838e4a7cdea3b1385691380
3
+ size 5186878
chunk_try/Imagine Dragons - Bones.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c5482b54b527c56e88a619af0b63067e6868c2e9e3f40849de40ff91cfb904e6
3
+ size 7017804
chunk_try/Indila - Tourner Dans Le Vide.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19130d22ad7148b23af98b746005705c405620f87b44dd71287f8a6faca81acf
3
+ size 4066560
chunk_try/Mohit Chauhan - Masakali.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3264f75e1c2f16aad93c08dc3975e458d378339755f5d56634b8b29f1123970a
3
+ size 7372014
chunk_try/Sanam - Gulabi Aankhen.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f7caf662d8626f64130edd2d380d3496ea7532ba28f3fcf09c3d198a5a048514
3
+ size 5816427
chunk_try/Sohail Sen,Benny Dayal,Aditi Singh Sharma,Irshad Kamil - Choomantar.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:024d4ceb3ae2891a83dac7a546b4796223437b303caa47e392b4cb5d5318f9fe
3
+ size 6419044
chunk_try/stephen sanchez, em beihold - until i found you.mp3 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07752b5dd13e6fc77506a11b4055b8d4f3eee5f144ea1c7bceb3038cf0cbb9ee
3
+ size 2521475
dict.pickle ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a22748703025ce9c9b995d25d5eb27cde466ce1aa3b49fdddd353e5bd573a75f
3
+ size 156156
embdmodel_1.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f15da1c51520ec176ddb2f70a231bbc67a00b57a3e7d4c2688f49f29ae8bbd3c
3
+ size 60509616
package.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "msr",
3
+ "preferGlobal": false,
4
+ "version": "1.3.4",
5
+ "author": {
6
+ "name": "Muaz Khan",
7
+ "email": "[email protected]",
8
+ "url": "http://www.muazkhan.com/"
9
+ },
10
+ "description": "Cross-Browser recording of audio/video media streams; targets WebRTC/getUserMedia/WebAudio/etc.",
11
+ "scripts": {
12
+ "start": "node server.js"
13
+ },
14
+ "main": "MediaStreamRecorder.js",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/streamproc/MediaStreamRecorder.git"
18
+ },
19
+ "keywords": [
20
+ "recorder",
21
+ "audio-recorder",
22
+ "video-recorder",
23
+ "audio-recording",
24
+ "video-recording",
25
+ "recording",
26
+ "record",
27
+ "audio-video-recorder",
28
+ "gif-recorder",
29
+ "audio",
30
+ "video",
31
+ "gif",
32
+ "mediarecorder",
33
+ "media",
34
+ "client-side",
35
+ "webrtc",
36
+ "mediastreamrecorder",
37
+ "webrtc-library",
38
+ "library",
39
+ "javascript",
40
+ "chrome",
41
+ "firefox",
42
+ "opera",
43
+ "mediastreamrecorder.js",
44
+ "webrtc-experiment",
45
+ "javascript-library",
46
+ "muaz",
47
+ "muaz-khan",
48
+ "stereorecorder",
49
+ "mediarecorder",
50
+ "whammyrecorder",
51
+ "gifrecorder",
52
+ "multistreamrecorder"
53
+ ],
54
+ "analyze": false,
55
+ "license": "MIT",
56
+ "readmeFilename": "README.md",
57
+ "bugs": {
58
+ "url": "https://github.com/streamproc/MediaStreamRecorder/issues",
59
+ "email": "[email protected]"
60
+ },
61
+ "homepage": "https://www.webrtc-experiment.com/msr/",
62
+ "tonicExampleFilename": "npm-test.js",
63
+ "_from": "msr@",
64
+ "devDependencies": {
65
+ "grunt": "0.4.5",
66
+ "grunt-cli": "0.1.13",
67
+ "load-grunt-tasks": "3.2.0",
68
+ "grunt-contrib-concat": "0.5.1",
69
+ "grunt-contrib-csslint": "0.4.0",
70
+ "grunt-contrib-uglify": "0.9.1",
71
+ "grunt-htmlhint": "0.9.13",
72
+ "grunt-jsbeautifier": "0.2.10",
73
+ "grunt-bump": "0.3.1"
74
+ }
75
+ }
packages.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ cmake
2
+ libgl1-mesa-glx
3
+ portaudio19-dev
4
+ alsa-utils
5
+
6
+
7
+
portaudio/.editorconfig ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # EditorConfig info: https://editorconfig.org/
2
+ root = true
3
+
4
+ [Makefile*]
5
+ indent_style = tab
6
+
7
+ [*.{c,cpp,h,cxx,hxx}]
8
+ indent_style = space
9
+ indent_size = 4
10
+ charset = utf-8
11
+ trim_trailing_whitespace = true
12
+ insert_final_newline = true
13
+ max_line_length = 120
portaudio/.gitattributes ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Set the default behavior, in case people don't have core.autocrlf set.
2
+ * text=auto
3
+
4
+ # Explicitly declare text files you want to always be normalized and converted
5
+ # to native line endings on checkout.
6
+ *.c text
7
+ *.h text
8
+ *.cpp text
9
+ *.hpp text
10
+ *.fth text
11
+ *.java text
12
+ *.f text
13
+ *.txt text
14
+ *.dox text
15
+ *.m text
16
+
17
+ # Declare files that will always have CRLF line endings on checkout.
18
+ *.sln text eol=crlf
19
+ *.def text eol=crlf
20
+ *.dsp text eol=crlf
21
+ *.dsw text eol=crlf
22
+ *.vcproj text eol=crlf
23
+ *.sln text eol=crlf
24
+ *.doc text eol=crlf
25
+ *.bat text eol=crlf
26
+
27
+ # Denote all files that are truly binary and should not be modified.
28
+ *.dic binary
29
+ *.odt binary
30
+ *.pdf binary
31
+ *.png binary
32
+ *.jpg binary
33
+ *.wav binary
34
+ *.la binary
35
+ config.guess binary
36
+ config.status binary
37
+ config.sub binary
38
+ configure binary
39
+ depcomp binary
40
+ install-sh binary
41
+ libtool binary
42
+ missing binary
43
+
portaudio/.github/ISSUE_TEMPLATE/bug_report.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ (Please use the mailing list for support requests and general discussion. This is only for actual bugs.)
11
+
12
+ **Describe the bug**
13
+ A clear and concise description of what the bug is.
14
+
15
+ **To Reproduce**
16
+ Steps to reproduce the behavior. Include code if applicable.
17
+ 1.
18
+
19
+ **Expected behavior**
20
+ A clear and concise description of what you expected to happen.
21
+
22
+ **Actual behavior**
23
+ What actually happened.
24
+ Include a recording if helpful.
25
+ Error messages or logs longer than a page should be attached as a .txt file.
26
+
27
+ **Desktop (please complete the following information):**
28
+ - OS: [e.g. Mac OS]
29
+ - OS Version [e.g. 22]
30
+ - PortAudio version: stable, nightly snapshot (which?), current (please give date and/or Git hash):
31
+ - If Windows or Linux, which Host API (e.g. WASAPI):
32
+
33
+ **Additional context**
34
+ Add any other context about the problem here.
portaudio/.github/workflows/MSBuild.yml ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: MSBuild MSVC Project File CI
2
+
3
+ on: [push, pull_request]
4
+
5
+ env:
6
+ # Path to the solution file relative to the root of the project.
7
+ SOLUTION_FILE_PATH: ./build/msvc/portaudio.sln
8
+ VCPROJ_FILE_PATH: ./build/msvc/portaudio.vcproj
9
+ VCXPROJ_FILE_PATH: ./build/msvc/portaudio.vcxproj
10
+ VCXPROJ_FILTERS_FILE_PATH: ./build/msvc/portaudio.vcxproj.filters
11
+ VCXPROJ_USER_FILE_PATH: ./build/msvc/portaudio.vcxproj.user
12
+ DEF_FILE_PATH: ./build/msvc/portaudio.def
13
+
14
+ jobs:
15
+ build:
16
+ runs-on: windows-latest
17
+ strategy:
18
+ matrix:
19
+ BUILD_CONFIGURATION: [Release]
20
+ BUILD_PLATFORM: [Win32, x64]
21
+
22
+ steps:
23
+ - name: Add MSBuild to PATH
24
+ uses: microsoft/setup-msbuild@v1
25
+
26
+ - uses: actions/checkout@v2
27
+
28
+ - name: Upgrade VC Project File
29
+ # We maintain our vcproj file in an old format to maintain backwards compatibility
30
+ # This step upgrades the project to the latest version of MSVC
31
+ # see https://docs.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2019
32
+ # pipe to file to ensure that it terminates https://stackoverflow.com/questions/48896010/occasionally-occurring-msbuild-error-msb3428/48918105#48918105
33
+ # discussion of using vswhere.exe here: https://stackoverflow.com/questions/65287456/how-to-upgrade-a-visual-studio-project-from-within-a-github-action/65311868#65311868
34
+ run: |
35
+ $devenv = & vswhere.exe '-property' productPath
36
+ Write-Output "$devenv"
37
+ & $devenv "${{env.VCPROJ_FILE_PATH}}" /Upgrade /NoSplash | Out-Null
38
+ Write-Output "devenv launched"
39
+ while (!(Test-Path "${{env.VCXPROJ_FILE_PATH}}")) { Start-Sleep -Seconds 10 }
40
+ Write-Output "vcxproj found"
41
+ while (!(Test-Path "${{env.VCXPROJ_FILTERS_FILE_PATH}}")) { Start-Sleep -Seconds 10 }
42
+ Write-Output "vcxproj.filters found"
43
+ Start-Sleep -Seconds 10
44
+ Write-Output "done."
45
+
46
+ - name: Remove ASIO Files and Enable PA_USE_DS=1
47
+ # Process the project files to remove ASIO-related sources and includes (since we can not access the ASIO SDK in a public build)
48
+ run: |
49
+ # Process .vcxproj file: remove source files
50
+ $xdoc = new-object System.Xml.XmlDocument
51
+ $vcxprojFile = resolve-path("${{env.VCXPROJ_FILE_PATH}}")
52
+ $xdoc.load($vcxprojFile)
53
+ $namespace = New-Object -TypeName "Xml.XmlNamespaceManager" -ArgumentList $xdoc.NameTable
54
+ $namespace.AddNamespace("vs", $xdoc.DocumentElement.NamespaceURI)
55
+ $nodes = $xdoc.SelectNodes("//vs:ClCompile[contains(@Include, '..\src\hostapi\asio')]", $namespace)
56
+ Write-Output "deleting ASIO related compilation nodes from .vcxproj:"
57
+ Write-Output $nodes
58
+ ForEach($node in $nodes) {
59
+ $parent = $node.ParentNode
60
+ $parent.RemoveChild($node)
61
+ }
62
+ # Enable DirectSound host API
63
+ $nodes = $xdoc.SelectNodes("//vs:PreprocessorDefinitions[contains(., 'PA_USE_DS=0')]", $namespace)
64
+ ForEach($node in $nodes) {
65
+ $text = $node.InnerText
66
+ $node.InnerText = $text -replace 'PA_USE_DS=0', 'PA_USE_DS=1'
67
+ }
68
+ $xdoc.save($vcxprojFile)
69
+ # Process .vcxproj.filters file: remove source files and includes
70
+ $vcxprojFiltersFile = resolve-path("${{env.VCXPROJ_FILTERS_FILE_PATH}}")
71
+ $xdoc.load($vcxprojFiltersFile)
72
+ $namespace = New-Object -TypeName "Xml.XmlNamespaceManager" -ArgumentList $xdoc.NameTable
73
+ $namespace.AddNamespace("vs", $xdoc.DocumentElement.NamespaceURI)
74
+ $nodes = $xdoc.SelectNodes("//vs:ClCompile[contains(@Include, '..\src\hostapi\asio')]", $namespace)
75
+ Write-Output "deleting ASIO related compilation nodes from .vcxproj.filters:"
76
+ Write-Output $nodes
77
+ ForEach($node in $nodes) {
78
+ $parent = $node.ParentNode
79
+ $parent.RemoveChild($node)
80
+ }
81
+ $nodes = $xdoc.SelectNodes("//vs:ClInclude[contains(@Include, 'pa_asio.h')]", $namespace)
82
+ Write-Output "deleting ASIO related include nodes from .vcxproj.filters:"
83
+ Write-Output $nodes
84
+ ForEach($node in $nodes) {
85
+ $parent = $node.ParentNode
86
+ $parent.RemoveChild($node)
87
+ }
88
+ $xdoc.save($vcxprojFiltersFile)
89
+ # Process .def file: remove PaAsio_ symbols
90
+ Set-Content -Path "${{env.DEF_FILE_PATH}}" -Value (Get-Content -Path "${{env.DEF_FILE_PATH}}" | Select-String -Pattern 'PaAsio_' -NotMatch)
91
+
92
+ - name: Build
93
+ working-directory: ${{env.GITHUB_WORKSPACE}}
94
+ # Add additional options to the MSBuild command line here (like platform or verbosity level).
95
+ # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
96
+ run: msbuild /m /p:Configuration=${{matrix.BUILD_CONFIGURATION}} /p:Platform=${{matrix.BUILD_PLATFORM}} ${{env.VCXPROJ_FILE_PATH}}
portaudio/.github/workflows/c-cpp.yml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: C/C++ CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: configure
17
+ run: ./configure
18
+ - name: make
19
+ run: make
20
+
21
+ build-cmake:
22
+
23
+ runs-on: ubuntu-latest
24
+
25
+ steps:
26
+ - uses: actions/checkout@v2
27
+ - name: cmake
28
+ run: cmake .
29
+ - name: make
30
+ run: make
31
+
32
+ build-cmake-msvc:
33
+
34
+ runs-on: windows-latest
35
+
36
+ steps:
37
+ - uses: actions/checkout@v1
38
+ - name: cmake
39
+ run: cmake .
40
+ - name: build
41
+ run: cmake --build .
42
+
43
+ build-cmake-mingw:
44
+
45
+ runs-on: ubuntu-latest
46
+
47
+ steps:
48
+ - uses: actions/checkout@v2
49
+ - name: apt
50
+ run: sudo apt-get install mingw-w64
51
+ - name: cmake
52
+ run: cmake -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake .
53
+ - name: make
54
+ run: make
portaudio/.gitignore ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Compiled Object files
2
+ *.slo
3
+ *.lo
4
+ *.o
5
+ *.obj
6
+
7
+ # annoying files
8
+ **/.DS_Store
9
+
10
+ # Generated by configure and make
11
+ Makefile
12
+ bin-stamp
13
+ bin/*
14
+ config.log
15
+ config.status
16
+ lib-stamp
17
+ lib/*
18
+ libtool
19
+ portaudio-2.0.pc
20
+ autom4te.cache/*
21
+
22
+ # Precompiled Headers
23
+ *.gch
24
+ *.pch
25
+
26
+ # Compiled Dynamic libraries
27
+ *.so
28
+ *.dylib
29
+ *.dll
30
+
31
+ # Fortran module files
32
+ *.mod
33
+
34
+ # Compiled Static libraries
35
+ *.lai
36
+ *.la
37
+ *.a
38
+ *.lib
39
+
40
+ # Executables
41
+ *.exe
42
+ *.out
43
+ *.app
44
+
45
+ # Visual Studio 2017/2019 state folder
46
+ .vs/
47
+
48
+ # Visual Studio CMake build output folder
49
+ out/
50
+
51
+ # Visual Studio CMake settings file
52
+ CMakeSettings.json
portaudio/CMakeLists.txt ADDED
@@ -0,0 +1,487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # $Id: $
2
+ #
3
+ # For a "How-To" please refer to the Portaudio documentation at:
4
+ # http://www.portaudio.com/trac/wiki/TutorialDir/Compile/CMake
5
+ #
6
+
7
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
8
+
9
+ # Check if the user is building PortAudio stand-alone or as part of a larger
10
+ # project. If this is part of a larger project (i.e. the CMakeLists.txt has
11
+ # been imported by some other CMakeLists.txt), we don't want to trump over
12
+ # the top of that project's global settings.
13
+ IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR})
14
+ PROJECT(portaudio)
15
+
16
+ # CMAKE_CONFIGURATION_TYPES only exists for multi-config generators (like
17
+ # Visual Studio or Xcode). For these projects, we won't define
18
+ # CMAKE_BUILD_TYPE as it does not make sense.
19
+ IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
20
+ MESSAGE(STATUS "Setting CMAKE_BUILD_TYPE type to 'Debug' as none was specified.")
21
+ SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
22
+ SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
23
+ ENDIF()
24
+
25
+ SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
26
+
27
+ IF(WIN32 AND MSVC)
28
+ OPTION(PA_DLL_LINK_WITH_STATIC_RUNTIME "Link with static runtime libraries (minimizes runtime dependencies)" ON)
29
+ IF(PA_DLL_LINK_WITH_STATIC_RUNTIME)
30
+ FOREACH(flag_var
31
+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
32
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
33
+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
34
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
35
+ IF(${flag_var} MATCHES "/MD")
36
+ STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
37
+ ENDIF()
38
+ ENDFOREACH()
39
+ ENDIF()
40
+ ENDIF()
41
+ ENDIF()
42
+
43
+ SET(PA_VERSION 19)
44
+ SET(PA_PKGCONFIG_VERSION ${PA_VERSION})
45
+ SET(PA_SOVERSION "${PA_VERSION}.0")
46
+
47
+ # Most of the code from this point onwards is related to populating the
48
+ # following variables:
49
+ # PA_PUBLIC_INCLUDES - This contains the list of public PortAudio header
50
+ # files. These files will be copied into /include paths on Unix'y
51
+ # systems when "make install" is invoked.
52
+ # PA_PRIVATE_INCLUDES - This contains the list of header files which
53
+ # are not part of PortAudio, but are required by the various hostapis.
54
+ # It is only used by CMake IDE generators (like Visual Studio) to
55
+ # provide quick-links to useful headers. It has no impact on build
56
+ # output.
57
+ # PA_PRIVATE_INCLUDE_PATHS - This contains the list of include paths which
58
+ # will be passed to the compiler while PortAudio is being built which
59
+ # are not required by applications using the PortAudio API.
60
+ # PA_PRIVATE_COMPILE_DEFINITIONS - This contains a list of preprocessor
61
+ # macro definitions which will be set when compiling PortAudio source
62
+ # files.
63
+ # PA_SOURCES - This contains the list of source files which will be built
64
+ # into the static and shared PortAudio libraries.
65
+ # PA_NON_UNICODE_SOURCES - This also contains a list of source files which
66
+ # will be build into the static and shared PortAudio libraries. However,
67
+ # these sources will not have any unicode compiler definitions added
68
+ # to them. This list should only contain external source dependencies.
69
+ # PA_EXTRA_SHARED_SOURCES - Contains a list of extra files which will be
70
+ # associated only with the shared PortAudio library. This only seems
71
+ # relevant for Windows shared libraries which require a list of export
72
+ # symbols.
73
+ # Where other PA_* variables are set, these are almost always only used to
74
+ # preserve the historic SOURCE_GROUP behavior (which again only has an impact
75
+ # on IDE-style generators for visual appearance) or store the output of
76
+ # find_library() calls.
77
+
78
+ SET(PA_COMMON_INCLUDES
79
+ src/common/pa_allocation.h
80
+ src/common/pa_converters.h
81
+ src/common/pa_cpuload.h
82
+ src/common/pa_debugprint.h
83
+ src/common/pa_dither.h
84
+ src/common/pa_endianness.h
85
+ src/common/pa_hostapi.h
86
+ src/common/pa_memorybarrier.h
87
+ src/common/pa_process.h
88
+ src/common/pa_ringbuffer.h
89
+ src/common/pa_stream.h
90
+ src/common/pa_trace.h
91
+ src/common/pa_types.h
92
+ src/common/pa_util.h
93
+ )
94
+
95
+ SET(PA_COMMON_SOURCES
96
+ src/common/pa_allocation.c
97
+ src/common/pa_converters.c
98
+ src/common/pa_cpuload.c
99
+ src/common/pa_debugprint.c
100
+ src/common/pa_dither.c
101
+ src/common/pa_front.c
102
+ src/common/pa_process.c
103
+ src/common/pa_ringbuffer.c
104
+ src/common/pa_stream.c
105
+ src/common/pa_trace.c
106
+ )
107
+
108
+ SOURCE_GROUP("common" FILES ${PA_COMMON_INCLUDES} ${PA_COMMON_SOURCES})
109
+
110
+ SET(PA_PUBLIC_INCLUDES include/portaudio.h)
111
+
112
+ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_support)
113
+
114
+ SET(PA_SKELETON_SOURCES src/hostapi/skeleton/pa_hostapi_skeleton.c)
115
+ SOURCE_GROUP("hostapi\\skeleton" ${PA_SKELETON_SOURCES})
116
+ SET(PA_SOURCES ${PA_COMMON_SOURCES} ${PA_SKELETON_SOURCES})
117
+ SET(PA_PRIVATE_INCLUDE_PATHS src/common ${CMAKE_CURRENT_BINARY_DIR})
118
+
119
+ IF(WIN32)
120
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} _CRT_SECURE_NO_WARNINGS)
121
+
122
+ SET(PA_PLATFORM_SOURCES
123
+ src/os/win/pa_win_hostapis.c
124
+ src/os/win/pa_win_util.c
125
+ src/os/win/pa_win_waveformat.c
126
+ src/os/win/pa_win_wdmks_utils.c
127
+ src/os/win/pa_win_coinitialize.c)
128
+ SET(PA_PLATFORM_INCLUDES
129
+ src/os/win/pa_win_coinitialize.h
130
+ src/os/win/pa_win_wdmks_utils.h)
131
+
132
+ IF(MSVC)
133
+ SET(PA_PLATFORM_SOURCES ${PA_PLATFORM_SOURCES} src/os/win/pa_x86_plain_converters.c)
134
+ SET(PA_PLATFORM_INCLUDES ${PA_PLATFORM_INCLUDES} src/os/win/pa_x86_plain_converters.h)
135
+ ELSE()
136
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} _WIN32_WINNT=0x0501 WINVER=0x0501)
137
+ SET(DEF_EXCLUDE_X86_PLAIN_CONVERTERS ";")
138
+ ENDIF()
139
+
140
+ SOURCE_GROUP("os\\win" FILES ${PA_PLATFORM_SOURCES} ${PA_PLATFORM_INCLUDES})
141
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_PLATFORM_SOURCES})
142
+ SET(PA_PRIVATE_INCLUDES ${PA_PRIVATE_INCLUDES} ${PA_PLATFORM_INCLUDES})
143
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} src/os/win)
144
+
145
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} winmm)
146
+
147
+ # Try to find ASIO SDK (assumes that portaudio and asiosdk folders are side-by-side, see
148
+ # http://www.portaudio.com/trac/wiki/TutorialDir/Compile/WindowsASIOMSVC)
149
+ FIND_PACKAGE(ASIOSDK)
150
+ IF(ASIOSDK_FOUND)
151
+ OPTION(PA_USE_ASIO "Enable support for ASIO" ON)
152
+ ELSE()
153
+ OPTION(PA_USE_ASIO "Enable support for ASIO" OFF)
154
+ ENDIF()
155
+ IF(PA_USE_ASIO)
156
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} ${ASIOSDK_ROOT_DIR}/common)
157
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} ${ASIOSDK_ROOT_DIR}/host)
158
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} ${ASIOSDK_ROOT_DIR}/host/pc)
159
+ SET(PA_ASIO_SOURCES src/hostapi/asio/pa_asio.cpp src/hostapi/asio/iasiothiscallresolver.cpp)
160
+ SET(PA_ASIOSDK_SOURCES ${ASIOSDK_ROOT_DIR}/common/asio.cpp ${ASIOSDK_ROOT_DIR}/host/pc/asiolist.cpp ${ASIOSDK_ROOT_DIR}/host/asiodrivers.cpp)
161
+ SOURCE_GROUP("hostapi\\ASIO" FILES ${PA_ASIO_SOURCES})
162
+ SOURCE_GROUP("hostapi\\ASIO\\ASIOSDK" FILES ${PA_ASIOSDK_SOURCES})
163
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_asio.h)
164
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_ASIO_SOURCES})
165
+ SET(PA_NON_UNICODE_SOURCES ${PA_NON_UNICODE_SOURCES} ${PA_ASIOSDK_SOURCES})
166
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ole32 uuid)
167
+ ELSE()
168
+ # Set variables for DEF file expansion
169
+ SET(DEF_EXCLUDE_ASIO_SYMBOLS ";")
170
+ ENDIF()
171
+
172
+ OPTION(PA_USE_DS "Enable support for DirectSound" ON)
173
+ IF(PA_USE_DS)
174
+ IF(MINGW)
175
+ MESSAGE(STATUS "DirectSound support will be built with DSound provided by MinGW.")
176
+ OPTION(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE "Use DirectSound full duplex create" OFF)
177
+ ELSE(MINGW)
178
+ OPTION(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE "Use DirectSound full duplex create" ON)
179
+ ENDIF(MINGW)
180
+ MARK_AS_ADVANCED(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE)
181
+ IF(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE)
182
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE)
183
+ ENDIF()
184
+ SET(PA_DS_INCLUDES src/hostapi/dsound/pa_win_ds_dynlink.h)
185
+ SET(PA_DS_SOURCES src/hostapi/dsound/pa_win_ds.c src/hostapi/dsound/pa_win_ds_dynlink.c)
186
+ SOURCE_GROUP("hostapi\\dsound" FILES ${PA_DS_INCLUDES} ${PA_DS_SOURCES})
187
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_ds.h include/pa_win_waveformat.h)
188
+ SET(PA_PRIVATE_INCLUDES ${PA_PRIVATE_INCLUDES} ${PA_DS_INCLUDES})
189
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_DS_SOURCES})
190
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} dsound)
191
+ ENDIF(PA_USE_DS)
192
+
193
+ OPTION(PA_USE_WMME "Enable support for MME" ON)
194
+ IF(PA_USE_WMME)
195
+ SET(PA_WMME_SOURCES src/hostapi/wmme/pa_win_wmme.c)
196
+ SOURCE_GROUP("hostapi\\wmme" FILES ${PA_WMME_SOURCES})
197
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_wmme.h include/pa_win_waveformat.h)
198
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_WMME_SOURCES})
199
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ole32 uuid)
200
+ ENDIF()
201
+
202
+ # MinGW versions below 4.93, especially non MinGW-w64 distributions may
203
+ # break in the wasapi build. If an older MinGW version is required, WASAPI-
204
+ # support needs to be disabled.
205
+ OPTION(PA_USE_WASAPI "Enable support for WASAPI" ON)
206
+ IF(PA_USE_WASAPI)
207
+ SET(PA_WASAPI_SOURCES src/hostapi/wasapi/pa_win_wasapi.c)
208
+ SOURCE_GROUP("hostapi\\wasapi" FILES ${PA_WASAPI_SOURCES})
209
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_wasapi.h include/pa_win_waveformat.h)
210
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_WASAPI_SOURCES})
211
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ole32 uuid)
212
+ ELSE()
213
+ SET(DEF_EXCLUDE_WASAPI_SYMBOLS ";")
214
+ ENDIF()
215
+
216
+ OPTION(PA_USE_WDMKS "Enable support for WDMKS" ON)
217
+ IF(PA_USE_WDMKS)
218
+ SET(PA_WDMKS_SOURCES src/hostapi/wdmks/pa_win_wdmks.c)
219
+ SOURCE_GROUP("hostapi\\wdmks" FILES ${PA_WDMKS_SOURCES})
220
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_wdmks.h)
221
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_WDMKS_SOURCES})
222
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} setupapi ole32 uuid)
223
+ ENDIF()
224
+
225
+ OPTION(PA_USE_WDMKS_DEVICE_INFO "Use WDM/KS API for device info" ON)
226
+ MARK_AS_ADVANCED(PA_USE_WDMKS_DEVICE_INFO)
227
+ IF(PA_USE_WDMKS_DEVICE_INFO)
228
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PAWIN_USE_WDMKS_DEVICE_INFO)
229
+ ENDIF()
230
+
231
+ SET(GENERATED_MESSAGE "CMake generated file, do NOT edit! Use CMake-GUI to change configuration instead.")
232
+ CONFIGURE_FILE(cmake_support/template_portaudio.def ${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def @ONLY)
233
+ CONFIGURE_FILE(cmake_support/options_cmake.h.in ${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h @ONLY)
234
+ SET(PA_PRIVATE_INCLUDES ${PA_PRIVATE_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h)
235
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PORTAUDIO_CMAKE_GENERATED)
236
+ SOURCE_GROUP("cmake_generated" FILES ${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def ${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h)
237
+
238
+ SET(PA_EXTRA_SHARED_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def)
239
+
240
+ ELSE()
241
+
242
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} src/os/unix)
243
+ SET(PA_PLATFORM_SOURCES src/os/unix/pa_unix_hostapis.c src/os/unix/pa_unix_util.c)
244
+ SOURCE_GROUP("os\\unix" FILES ${PA_PLATFORM_SOURCES})
245
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_PLATFORM_SOURCES})
246
+
247
+ IF(APPLE)
248
+
249
+ SET(CMAKE_MACOSX_RPATH 1)
250
+ OPTION(PA_USE_COREAUDIO "Enable support for CoreAudio" ON)
251
+ IF(PA_USE_COREAUDIO)
252
+ SET(PA_COREAUDIO_SOURCES
253
+ src/hostapi/coreaudio/pa_mac_core.c
254
+ src/hostapi/coreaudio/pa_mac_core_blocking.c
255
+ src/hostapi/coreaudio/pa_mac_core_utilities.c)
256
+ SET(PA_COREAUDIO_INCLUDES
257
+ src/hostapi/coreaudio/pa_mac_core_blocking.h
258
+ src/hostapi/coreaudio/pa_mac_core_utilities.h)
259
+ SOURCE_GROUP("hostapi\\coreaudio" FILES ${PA_COREAUDIO_SOURCES} ${PA_COREAUDIO_INCLUDES})
260
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_mac_core.h)
261
+ SET(PA_PRIVATE_INCLUDES ${PA_PRIVATE_INCLUDES} ${PA_COREAUDIO_INCLUDES})
262
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_COREAUDIO_SOURCES})
263
+
264
+ FIND_LIBRARY(COREAUDIO_LIBRARY CoreAudio REQUIRED)
265
+ FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox REQUIRED)
266
+ FIND_LIBRARY(AUDIOUNIT_LIBRARY AudioUnit REQUIRED)
267
+ FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation REQUIRED)
268
+ FIND_LIBRARY(CORESERVICES_LIBRARY CoreServices REQUIRED)
269
+ MARK_AS_ADVANCED(COREAUDIO_LIBRARY AUDIOTOOLBOX_LIBRARY AUDIOUNIT_LIBRARY COREFOUNDATION_LIBRARY CORESERVICES_LIBRARY)
270
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${COREAUDIO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY} ${AUDIOUNIT_LIBRARY} ${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY})
271
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_USE_COREAUDIO)
272
+ SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework CoreFoundation -framework CoreServices")
273
+ ENDIF()
274
+
275
+ ELSEIF(UNIX)
276
+
277
+ FIND_PACKAGE(Jack)
278
+ IF(JACK_FOUND)
279
+ OPTION(PA_USE_JACK "Enable support for Jack" ON)
280
+ ELSE()
281
+ OPTION(PA_USE_JACK "Enable support for Jack" OFF)
282
+ ENDIF()
283
+ IF(PA_USE_JACK)
284
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} ${JACK_INCLUDE_DIRS})
285
+ SET(PA_JACK_SOURCES src/hostapi/jack/pa_jack.c)
286
+ SOURCE_GROUP("hostapi\\JACK" FILES ${PA_JACK_SOURCES})
287
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_jack.h)
288
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_JACK_SOURCES})
289
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_USE_JACK)
290
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${JACK_LIBRARIES})
291
+ SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -ljack")
292
+ ENDIF()
293
+
294
+ FIND_PACKAGE(ALSA)
295
+ IF(ALSA_FOUND)
296
+ OPTION(PA_USE_ALSA "Enable support for ALSA" ON)
297
+ OPTION(PA_ALSA_DYNAMIC "Enable loading ALSA through dlopen" OFF)
298
+ ELSE()
299
+ OPTION(PA_USE_ALSA "Enable support for ALSA" OFF)
300
+ ENDIF()
301
+ IF(PA_USE_ALSA)
302
+ SET(PA_PRIVATE_INCLUDE_PATHS ${PA_PRIVATE_INCLUDE_PATHS} ${ALSA_INCLUDE_DIRS})
303
+ SET(PA_ALSA_SOURCES src/hostapi/alsa/pa_linux_alsa.c)
304
+ SOURCE_GROUP("hostapi\\ALSA" FILES ${PA_ALSA_SOURCES})
305
+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_linux_alsa.h)
306
+ SET(PA_SOURCES ${PA_SOURCES} ${PA_ALSA_SOURCES})
307
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_USE_ALSA)
308
+ IF(PA_ALSA_DYNAMIC)
309
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_ALSA_DYNAMIC)
310
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${CMAKE_DL_LIBS})
311
+ SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -l${CMAKE_DL_LIBS}")
312
+ ELSE()
313
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${ALSA_LIBRARIES})
314
+ SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -lasound")
315
+ ENDIF()
316
+ ENDIF()
317
+
318
+ ENDIF()
319
+
320
+ SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -lm -lpthread")
321
+ SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} m pthread)
322
+
323
+ ENDIF()
324
+
325
+ SOURCE_GROUP("include" FILES ${PA_PUBLIC_INCLUDES})
326
+
327
+ SET(PA_INCLUDES ${PA_PRIVATE_INCLUDES} ${PA_PUBLIC_INCLUDES})
328
+
329
+ IF(WIN32)
330
+ OPTION(PA_UNICODE_BUILD "Enable Portaudio Unicode build" ON)
331
+ IF(PA_UNICODE_BUILD)
332
+ SET_SOURCE_FILES_PROPERTIES(${PA_SOURCES} PROPERTIES COMPILE_DEFINITIONS "UNICODE;_UNICODE")
333
+ ENDIF()
334
+ ENDIF()
335
+
336
+ OPTION(PA_ENABLE_DEBUG_OUTPUT "Enable debug output for Portaudio" OFF)
337
+ IF(PA_ENABLE_DEBUG_OUTPUT)
338
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_ENABLE_DEBUG_OUTPUT)
339
+ ENDIF()
340
+
341
+ INCLUDE(TestBigEndian)
342
+ TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
343
+ IF(IS_BIG_ENDIAN)
344
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_BIG_ENDIAN)
345
+ ELSE()
346
+ SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_LITTLE_ENDIAN)
347
+ ENDIF()
348
+
349
+ OPTION(PA_BUILD_STATIC "Build static library" ON)
350
+ OPTION(PA_BUILD_SHARED "Build shared/dynamic library" ON)
351
+
352
+ IF(MSVC)
353
+ OPTION(PA_LIBNAME_ADD_SUFFIX "Add suffix _static to static library name" ON)
354
+ ELSE()
355
+ OPTION(PA_LIBNAME_ADD_SUFFIX "Add suffix _static to static library name" OFF)
356
+ ENDIF()
357
+
358
+ # MSVC: if PA_LIBNAME_ADD_SUFFIX is not used, and both static and shared libraries are
359
+ # built, one, of import- and static libraries, will overwrite the other. In
360
+ # embedded builds this is not an issue as they will only build the configuration
361
+ # used in the host application.
362
+ MARK_AS_ADVANCED(PA_LIBNAME_ADD_SUFFIX)
363
+ IF(MSVC AND PA_BUILD_STATIC AND PA_BUILD_SHARED AND NOT PA_LIBNAME_ADD_SUFFIX)
364
+ MESSAGE(WARNING "Building both shared and static libraries, and avoiding the suffix _static will lead to a name conflict")
365
+ SET(PA_LIBNAME_ADD_SUFFIX ON CACHE BOOL "Forcing use of suffix _static to avoid name conflict between static and import library" FORCE)
366
+ MESSAGE(WARNING "PA_LIBNAME_ADD_SUFFIX was set to ON")
367
+ ENDIF()
368
+
369
+ SET(PA_TARGETS "")
370
+
371
+ IF(PA_BUILD_SHARED)
372
+ LIST(APPEND PA_TARGETS portaudio)
373
+ ADD_LIBRARY(portaudio SHARED ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES} ${PA_EXTRA_SHARED_SOURCES})
374
+ SET_PROPERTY(TARGET portaudio APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
375
+ TARGET_INCLUDE_DIRECTORIES(portaudio PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
376
+ TARGET_INCLUDE_DIRECTORIES(portaudio PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
377
+ TARGET_LINK_LIBRARIES(portaudio ${PA_LIBRARY_DEPENDENCIES})
378
+ ENDIF()
379
+
380
+ IF(PA_BUILD_STATIC)
381
+ LIST(APPEND PA_TARGETS portaudio_static)
382
+ ADD_LIBRARY(portaudio_static STATIC ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES})
383
+ SET_PROPERTY(TARGET portaudio_static APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
384
+ TARGET_INCLUDE_DIRECTORIES(portaudio_static PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
385
+ TARGET_INCLUDE_DIRECTORIES(portaudio_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
386
+ TARGET_LINK_LIBRARIES(portaudio_static ${PA_LIBRARY_DEPENDENCIES})
387
+ IF(NOT PA_LIBNAME_ADD_SUFFIX)
388
+ SET_PROPERTY(TARGET portaudio_static PROPERTY OUTPUT_NAME portaudio)
389
+ ENDIF()
390
+ ENDIF()
391
+
392
+ IF(WIN32 AND MSVC)
393
+ OPTION(PA_CONFIG_LIB_OUTPUT_PATH "Make sure that output paths are kept neat" OFF)
394
+ IF(CMAKE_CL_64)
395
+ SET(TARGET_POSTFIX x64)
396
+ IF(PA_CONFIG_LIB_OUTPUT_PATH)
397
+ SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin/x64)
398
+ ENDIF()
399
+ ELSE()
400
+ SET(TARGET_POSTFIX x86)
401
+ IF(PA_CONFIG_LIB_OUTPUT_PATH)
402
+ SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin/Win32)
403
+ ENDIF()
404
+ ENDIF()
405
+ IF(PA_BUILD_SHARED)
406
+ IF(PA_LIBNAME_ADD_SUFFIX)
407
+ SET_TARGET_PROPERTIES(portaudio PROPERTIES OUTPUT_NAME portaudio_${TARGET_POSTFIX})
408
+ ELSE()
409
+ SET_TARGET_PROPERTIES(portaudio PROPERTIES OUTPUT_NAME portaudio)
410
+ ENDIF()
411
+ ENDIF()
412
+ IF(PA_BUILD_STATIC)
413
+ IF(PA_LIBNAME_ADD_SUFFIX)
414
+ SET_TARGET_PROPERTIES(portaudio_static PROPERTIES OUTPUT_NAME portaudio_static_${TARGET_POSTFIX})
415
+ ELSE()
416
+ SET_TARGET_PROPERTIES(portaudio_static PROPERTIES OUTPUT_NAME portaudio)
417
+ ENDIF()
418
+ ENDIF()
419
+ ELSE()
420
+ IF(APPLE AND CMAKE_VERSION VERSION_GREATER 3.4.2)
421
+ OPTION(PA_OUTPUT_OSX_FRAMEWORK "Generate an OS X framework instead of the simple library" OFF)
422
+ IF(PA_OUTPUT_OSX_FRAMEWORK)
423
+ SET_TARGET_PROPERTIES(portaudio PROPERTIES
424
+ FRAMEWORK TRUE
425
+ MACOSX_FRAMEWORK_IDENTIFIER com.portaudio
426
+ FRAMEWORK_VERSION A
427
+ PUBLIC_HEADER "${PA_PUBLIC_INCLUDES}"
428
+ VERSION ${PA_SOVERSION}
429
+ SOVERSION ${PA_SOVERSION})
430
+ ENDIF()
431
+ ENDIF()
432
+ ENDIF()
433
+
434
+ # At least on Windows in embedded builds, portaudio's install target should likely
435
+ # not be executed, as the library would usually already be installed as part of, and
436
+ # by means of the host application.
437
+ # The option below offers the option to avoid executing the portaudio install target
438
+ # for cases in which the host-application executes install, but no independent install
439
+ # of portaudio is wished.
440
+ OPTION(PA_DISABLE_INSTALL "Disable targets install and uninstall (for embedded builds)" OFF)
441
+
442
+ IF(NOT PA_OUTPUT_OSX_FRAMEWORK AND NOT PA_DISABLE_INSTALL)
443
+ INCLUDE(CMakePackageConfigHelpers)
444
+
445
+ CONFIGURE_PACKAGE_CONFIG_FILE(cmake_support/portaudioConfig.cmake.in ${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfig.cmake
446
+ INSTALL_DESTINATION "lib/cmake/portaudio"
447
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO)
448
+ WRITE_BASIC_PACKAGE_VERSION_FILE(${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfigVersion.cmake
449
+ VERSION ${PA_VERSION}
450
+ COMPATIBILITY SameMajorVersion)
451
+ CONFIGURE_FILE(cmake_support/portaudio-2.0.pc.in ${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc @ONLY)
452
+ INSTALL(FILES README.md DESTINATION share/doc/portaudio)
453
+ INSTALL(FILES LICENSE.txt DESTINATION share/doc/portaudio)
454
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc DESTINATION lib/pkgconfig)
455
+ INSTALL(FILES ${PA_PUBLIC_INCLUDES} DESTINATION include)
456
+ INSTALL(TARGETS ${PA_TARGETS}
457
+ EXPORT portaudio-targets
458
+ RUNTIME DESTINATION bin
459
+ LIBRARY DESTINATION lib
460
+ ARCHIVE DESTINATION lib)
461
+ INSTALL(EXPORT portaudio-targets FILE "portaudioTargets.cmake" DESTINATION "lib/cmake/portaudio")
462
+ EXPORT(TARGETS ${PA_TARGETS} FILE "${PROJECT_BINARY_DIR}/cmake/portaudio/portaudioTargets.cmake")
463
+ INSTALL(FILES "${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfig.cmake"
464
+ "${CMAKE_BINARY_DIR}/cmake/portaudio/portaudioConfigVersion.cmake"
465
+ DESTINATION "lib/cmake/portaudio")
466
+
467
+ IF (NOT TARGET uninstall)
468
+ CONFIGURE_FILE(
469
+ "${CMAKE_CURRENT_SOURCE_DIR}/cmake_support/cmake_uninstall.cmake.in"
470
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
471
+ IMMEDIATE @ONLY)
472
+ ADD_CUSTOM_TARGET(uninstall
473
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
474
+ ENDIF()
475
+ ENDIF()
476
+
477
+ # Prepared for inclusion of test files
478
+ OPTION(PA_BUILD_TESTS "Include test projects" OFF)
479
+ IF(PA_BUILD_TESTS)
480
+ SUBDIRS(test)
481
+ ENDIF()
482
+
483
+ # Prepared for inclusion of test files
484
+ OPTION(PA_BUILD_EXAMPLES "Include example projects" OFF)
485
+ IF(PA_BUILD_EXAMPLES)
486
+ SUBDIRS(examples)
487
+ ENDIF()
portaudio/Doxyfile ADDED
@@ -0,0 +1,239 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Doxyfile 1.4.6
2
+
3
+ #---------------------------------------------------------------------------
4
+ # Project related configuration options
5
+ #---------------------------------------------------------------------------
6
+ PROJECT_NAME = PortAudio
7
+ PROJECT_NUMBER = 2.0
8
+ OUTPUT_DIRECTORY = ./doc/
9
+ CREATE_SUBDIRS = NO
10
+ OUTPUT_LANGUAGE = English
11
+ USE_WINDOWS_ENCODING = NO
12
+ BRIEF_MEMBER_DESC = YES
13
+ REPEAT_BRIEF = YES
14
+ ABBREVIATE_BRIEF = "The $name class" \
15
+ "The $name widget" \
16
+ "The $name file" \
17
+ is \
18
+ provides \
19
+ specifies \
20
+ contains \
21
+ represents \
22
+ a \
23
+ an \
24
+ the
25
+ ALWAYS_DETAILED_SEC = NO
26
+ INLINE_INHERITED_MEMB = NO
27
+ FULL_PATH_NAMES = NO
28
+ STRIP_FROM_PATH =
29
+ STRIP_FROM_INC_PATH =
30
+ SHORT_NAMES = NO
31
+ JAVADOC_AUTOBRIEF = NO
32
+ MULTILINE_CPP_IS_BRIEF = NO
33
+ DETAILS_AT_TOP = NO
34
+ INHERIT_DOCS = YES
35
+ SEPARATE_MEMBER_PAGES = NO
36
+ TAB_SIZE = 8
37
+ ALIASES =
38
+ OPTIMIZE_OUTPUT_FOR_C = YES
39
+ OPTIMIZE_OUTPUT_JAVA = NO
40
+ BUILTIN_STL_SUPPORT = NO
41
+ DISTRIBUTE_GROUP_DOC = NO
42
+ SUBGROUPING = YES
43
+ #---------------------------------------------------------------------------
44
+ # Build related configuration options
45
+ #---------------------------------------------------------------------------
46
+ EXTRACT_ALL = NO
47
+ EXTRACT_PRIVATE = NO
48
+ EXTRACT_STATIC = NO
49
+ EXTRACT_LOCAL_CLASSES = YES
50
+ EXTRACT_LOCAL_METHODS = NO
51
+ HIDE_UNDOC_MEMBERS = NO
52
+ HIDE_UNDOC_CLASSES = NO
53
+ HIDE_FRIEND_COMPOUNDS = NO
54
+ HIDE_IN_BODY_DOCS = NO
55
+ INTERNAL_DOCS = NO
56
+ CASE_SENSE_NAMES = YES
57
+ HIDE_SCOPE_NAMES = NO
58
+ SHOW_INCLUDE_FILES = YES
59
+ INLINE_INFO = YES
60
+ SORT_MEMBER_DOCS = YES
61
+ SORT_BRIEF_DOCS = NO
62
+ SORT_BY_SCOPE_NAME = NO
63
+ GENERATE_TODOLIST = NO
64
+ GENERATE_TESTLIST = NO
65
+ GENERATE_BUGLIST = NO
66
+ GENERATE_DEPRECATEDLIST= YES
67
+ ENABLED_SECTIONS =
68
+ MAX_INITIALIZER_LINES = 30
69
+ SHOW_USED_FILES = YES
70
+ SHOW_DIRECTORIES = YES
71
+ FILE_VERSION_FILTER =
72
+ #---------------------------------------------------------------------------
73
+ # configuration options related to warning and progress messages
74
+ #---------------------------------------------------------------------------
75
+ QUIET = NO
76
+ WARNINGS = YES
77
+ WARN_IF_UNDOCUMENTED = YES
78
+ WARN_IF_DOC_ERROR = YES
79
+ WARN_NO_PARAMDOC = NO
80
+ WARN_FORMAT = "$file:$line: $text"
81
+ WARN_LOGFILE =
82
+ #---------------------------------------------------------------------------
83
+ # configuration options related to the input files
84
+ #---------------------------------------------------------------------------
85
+ INPUT = doc/src \
86
+ include \
87
+ examples
88
+ FILE_PATTERNS = *.h \
89
+ *.c \
90
+ *.cpp \
91
+ *.java \
92
+ *.dox
93
+ RECURSIVE = YES
94
+ EXCLUDE = src/hostapi/wasapi/mingw-include
95
+ EXCLUDE_SYMLINKS = NO
96
+ EXCLUDE_PATTERNS =
97
+ EXAMPLE_PATH =
98
+ EXAMPLE_PATTERNS =
99
+ EXAMPLE_RECURSIVE = NO
100
+ IMAGE_PATH = doc/src/images
101
+ INPUT_FILTER =
102
+ FILTER_PATTERNS =
103
+ FILTER_SOURCE_FILES = NO
104
+ #---------------------------------------------------------------------------
105
+ # configuration options related to source browsing
106
+ #---------------------------------------------------------------------------
107
+ SOURCE_BROWSER = YES
108
+ INLINE_SOURCES = NO
109
+ STRIP_CODE_COMMENTS = YES
110
+ REFERENCED_BY_RELATION = YES
111
+ REFERENCES_RELATION = YES
112
+ USE_HTAGS = NO
113
+ VERBATIM_HEADERS = YES
114
+ #---------------------------------------------------------------------------
115
+ # configuration options related to the alphabetical class index
116
+ #---------------------------------------------------------------------------
117
+ ALPHABETICAL_INDEX = NO
118
+ COLS_IN_ALPHA_INDEX = 5
119
+ IGNORE_PREFIX =
120
+ #---------------------------------------------------------------------------
121
+ # configuration options related to the HTML output
122
+ #---------------------------------------------------------------------------
123
+ GENERATE_HTML = YES
124
+ HTML_OUTPUT = html
125
+ HTML_FILE_EXTENSION = .html
126
+ HTML_HEADER =
127
+ HTML_FOOTER =
128
+ HTML_STYLESHEET =
129
+ HTML_ALIGN_MEMBERS = YES
130
+ GENERATE_HTMLHELP = NO
131
+ CHM_FILE =
132
+ HHC_LOCATION =
133
+ GENERATE_CHI = NO
134
+ BINARY_TOC = NO
135
+ TOC_EXPAND = NO
136
+ DISABLE_INDEX = NO
137
+ ENUM_VALUES_PER_LINE = 4
138
+ GENERATE_TREEVIEW = NO
139
+ TREEVIEW_WIDTH = 250
140
+ #---------------------------------------------------------------------------
141
+ # configuration options related to the LaTeX output
142
+ #---------------------------------------------------------------------------
143
+ GENERATE_LATEX = NO
144
+ LATEX_OUTPUT = latex
145
+ LATEX_CMD_NAME = latex
146
+ MAKEINDEX_CMD_NAME = makeindex
147
+ COMPACT_LATEX = NO
148
+ PAPER_TYPE = a4wide
149
+ EXTRA_PACKAGES =
150
+ LATEX_HEADER =
151
+ PDF_HYPERLINKS = NO
152
+ USE_PDFLATEX = NO
153
+ LATEX_BATCHMODE = NO
154
+ LATEX_HIDE_INDICES = NO
155
+ #---------------------------------------------------------------------------
156
+ # configuration options related to the RTF output
157
+ #---------------------------------------------------------------------------
158
+ GENERATE_RTF = NO
159
+ RTF_OUTPUT = rtf
160
+ COMPACT_RTF = NO
161
+ RTF_HYPERLINKS = NO
162
+ RTF_STYLESHEET_FILE =
163
+ RTF_EXTENSIONS_FILE =
164
+ #---------------------------------------------------------------------------
165
+ # configuration options related to the man page output
166
+ #---------------------------------------------------------------------------
167
+ GENERATE_MAN = NO
168
+ MAN_OUTPUT = man
169
+ MAN_EXTENSION = .3
170
+ MAN_LINKS = NO
171
+ #---------------------------------------------------------------------------
172
+ # configuration options related to the XML output
173
+ #---------------------------------------------------------------------------
174
+ GENERATE_XML = NO
175
+ XML_OUTPUT = xml
176
+ XML_SCHEMA =
177
+ XML_DTD =
178
+ XML_PROGRAMLISTING = YES
179
+ #---------------------------------------------------------------------------
180
+ # configuration options for the AutoGen Definitions output
181
+ #---------------------------------------------------------------------------
182
+ GENERATE_AUTOGEN_DEF = NO
183
+ #---------------------------------------------------------------------------
184
+ # configuration options related to the Perl module output
185
+ #---------------------------------------------------------------------------
186
+ GENERATE_PERLMOD = NO
187
+ PERLMOD_LATEX = NO
188
+ PERLMOD_PRETTY = YES
189
+ PERLMOD_MAKEVAR_PREFIX =
190
+ #---------------------------------------------------------------------------
191
+ # Configuration options related to the preprocessor
192
+ #---------------------------------------------------------------------------
193
+ ENABLE_PREPROCESSING = YES
194
+ MACRO_EXPANSION = NO
195
+ EXPAND_ONLY_PREDEF = NO
196
+ SEARCH_INCLUDES = YES
197
+ INCLUDE_PATH =
198
+ INCLUDE_FILE_PATTERNS =
199
+ PREDEFINED =
200
+ EXPAND_AS_DEFINED =
201
+ SKIP_FUNCTION_MACROS = YES
202
+ #---------------------------------------------------------------------------
203
+ # Configuration::additions related to external references
204
+ #---------------------------------------------------------------------------
205
+ TAGFILES =
206
+ GENERATE_TAGFILE =
207
+ ALLEXTERNALS = NO
208
+ EXTERNAL_GROUPS = YES
209
+ PERL_PATH = /usr/bin/perl
210
+ #---------------------------------------------------------------------------
211
+ # Configuration options related to the dot tool
212
+ #---------------------------------------------------------------------------
213
+ CLASS_DIAGRAMS = NO
214
+ HIDE_UNDOC_RELATIONS = NO
215
+ HAVE_DOT = NO
216
+ CLASS_GRAPH = YES
217
+ COLLABORATION_GRAPH = YES
218
+ GROUP_GRAPHS = YES
219
+ UML_LOOK = NO
220
+ TEMPLATE_RELATIONS = YES
221
+ INCLUDE_GRAPH = YES
222
+ INCLUDED_BY_GRAPH = YES
223
+ CALL_GRAPH = NO
224
+ GRAPHICAL_HIERARCHY = YES
225
+ DIRECTORY_GRAPH = YES
226
+ DOT_IMAGE_FORMAT = png
227
+ DOT_PATH =
228
+ DOTFILE_DIRS =
229
+ MAX_DOT_GRAPH_WIDTH = 1024
230
+ MAX_DOT_GRAPH_HEIGHT = 1024
231
+ MAX_DOT_GRAPH_DEPTH = 1000
232
+ DOT_TRANSPARENT = NO
233
+ DOT_MULTI_TARGETS = NO
234
+ GENERATE_LEGEND = YES
235
+ DOT_CLEANUP = YES
236
+ #---------------------------------------------------------------------------
237
+ # Configuration::additions related to the search engine
238
+ #---------------------------------------------------------------------------
239
+ SEARCHENGINE = NO
portaudio/Doxyfile.developer ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Doxyfile 1.4.6
2
+
3
+ #---------------------------------------------------------------------------
4
+ # Project related configuration options
5
+ #---------------------------------------------------------------------------
6
+ PROJECT_NAME = PortAudio
7
+ PROJECT_NUMBER = 2.0
8
+ OUTPUT_DIRECTORY = ./doc/
9
+ CREATE_SUBDIRS = NO
10
+ OUTPUT_LANGUAGE = English
11
+ USE_WINDOWS_ENCODING = NO
12
+ BRIEF_MEMBER_DESC = YES
13
+ REPEAT_BRIEF = YES
14
+ ABBREVIATE_BRIEF = "The $name class" \
15
+ "The $name widget" \
16
+ "The $name file" \
17
+ is \
18
+ provides \
19
+ specifies \
20
+ contains \
21
+ represents \
22
+ a \
23
+ an \
24
+ the
25
+ ALWAYS_DETAILED_SEC = NO
26
+ INLINE_INHERITED_MEMB = NO
27
+ FULL_PATH_NAMES = NO
28
+ STRIP_FROM_PATH =
29
+ STRIP_FROM_INC_PATH =
30
+ SHORT_NAMES = NO
31
+ JAVADOC_AUTOBRIEF = NO
32
+ MULTILINE_CPP_IS_BRIEF = NO
33
+ DETAILS_AT_TOP = NO
34
+ INHERIT_DOCS = YES
35
+ SEPARATE_MEMBER_PAGES = NO
36
+ TAB_SIZE = 8
37
+ ALIASES =
38
+ OPTIMIZE_OUTPUT_FOR_C = YES
39
+ OPTIMIZE_OUTPUT_JAVA = NO
40
+ BUILTIN_STL_SUPPORT = NO
41
+ DISTRIBUTE_GROUP_DOC = NO
42
+ SUBGROUPING = YES
43
+ #---------------------------------------------------------------------------
44
+ # Build related configuration options
45
+ #---------------------------------------------------------------------------
46
+ EXTRACT_ALL = YES
47
+ EXTRACT_PRIVATE = NO
48
+ EXTRACT_STATIC = NO
49
+ EXTRACT_LOCAL_CLASSES = YES
50
+ EXTRACT_LOCAL_METHODS = NO
51
+ HIDE_UNDOC_MEMBERS = NO
52
+ HIDE_UNDOC_CLASSES = NO
53
+ HIDE_FRIEND_COMPOUNDS = NO
54
+ HIDE_IN_BODY_DOCS = NO
55
+ INTERNAL_DOCS = YES
56
+ CASE_SENSE_NAMES = YES
57
+ HIDE_SCOPE_NAMES = NO
58
+ SHOW_INCLUDE_FILES = YES
59
+ INLINE_INFO = YES
60
+ SORT_MEMBER_DOCS = YES
61
+ SORT_BRIEF_DOCS = NO
62
+ SORT_BY_SCOPE_NAME = NO
63
+ GENERATE_TODOLIST = YES
64
+ GENERATE_TESTLIST = YES
65
+ GENERATE_BUGLIST = YES
66
+ GENERATE_DEPRECATEDLIST= YES
67
+ ENABLED_SECTIONS = INTERNAL
68
+ MAX_INITIALIZER_LINES = 30
69
+ SHOW_USED_FILES = YES
70
+ SHOW_DIRECTORIES = YES
71
+ FILE_VERSION_FILTER =
72
+ #---------------------------------------------------------------------------
73
+ # configuration options related to warning and progress messages
74
+ #---------------------------------------------------------------------------
75
+ QUIET = NO
76
+ WARNINGS = YES
77
+ WARN_IF_UNDOCUMENTED = YES
78
+ WARN_IF_DOC_ERROR = YES
79
+ WARN_NO_PARAMDOC = NO
80
+ WARN_FORMAT = "$file:$line: $text"
81
+ WARN_LOGFILE =
82
+ #---------------------------------------------------------------------------
83
+ # configuration options related to the input files
84
+ #---------------------------------------------------------------------------
85
+ INPUT = doc/src \
86
+ include \
87
+ examples \
88
+ src \
89
+ test \
90
+ qa
91
+ FILE_PATTERNS = *.h \
92
+ *.c \
93
+ *.cpp \
94
+ *.java \
95
+ *.dox
96
+ RECURSIVE = YES
97
+ EXCLUDE = src/hostapi/wasapi/mingw-include
98
+ EXCLUDE_SYMLINKS = NO
99
+ EXCLUDE_PATTERNS =
100
+ EXAMPLE_PATH =
101
+ EXAMPLE_PATTERNS =
102
+ EXAMPLE_RECURSIVE = NO
103
+ IMAGE_PATH = doc/src/images
104
+ INPUT_FILTER =
105
+ FILTER_PATTERNS =
106
+ FILTER_SOURCE_FILES = NO
107
+ #---------------------------------------------------------------------------
108
+ # configuration options related to source browsing
109
+ #---------------------------------------------------------------------------
110
+ SOURCE_BROWSER = NO
111
+ INLINE_SOURCES = NO
112
+ STRIP_CODE_COMMENTS = YES
113
+ REFERENCED_BY_RELATION = YES
114
+ REFERENCES_RELATION = YES
115
+ USE_HTAGS = NO
116
+ VERBATIM_HEADERS = YES
117
+ #---------------------------------------------------------------------------
118
+ # configuration options related to the alphabetical class index
119
+ #---------------------------------------------------------------------------
120
+ ALPHABETICAL_INDEX = NO
121
+ COLS_IN_ALPHA_INDEX = 5
122
+ IGNORE_PREFIX =
123
+ #---------------------------------------------------------------------------
124
+ # configuration options related to the HTML output
125
+ #---------------------------------------------------------------------------
126
+ GENERATE_HTML = YES
127
+ HTML_OUTPUT = html
128
+ HTML_FILE_EXTENSION = .html
129
+ HTML_HEADER =
130
+ HTML_FOOTER =
131
+ HTML_STYLESHEET =
132
+ HTML_ALIGN_MEMBERS = YES
133
+ GENERATE_HTMLHELP = NO
134
+ CHM_FILE =
135
+ HHC_LOCATION =
136
+ GENERATE_CHI = NO
137
+ BINARY_TOC = NO
138
+ TOC_EXPAND = NO
139
+ DISABLE_INDEX = NO
140
+ ENUM_VALUES_PER_LINE = 4
141
+ GENERATE_TREEVIEW = NO
142
+ TREEVIEW_WIDTH = 250
143
+ #---------------------------------------------------------------------------
144
+ # configuration options related to the LaTeX output
145
+ #---------------------------------------------------------------------------
146
+ GENERATE_LATEX = NO
147
+ LATEX_OUTPUT = latex
148
+ LATEX_CMD_NAME = latex
149
+ MAKEINDEX_CMD_NAME = makeindex
150
+ COMPACT_LATEX = NO
151
+ PAPER_TYPE = a4wide
152
+ EXTRA_PACKAGES =
153
+ LATEX_HEADER =
154
+ PDF_HYPERLINKS = NO
155
+ USE_PDFLATEX = NO
156
+ LATEX_BATCHMODE = NO
157
+ LATEX_HIDE_INDICES = NO
158
+ #---------------------------------------------------------------------------
159
+ # configuration options related to the RTF output
160
+ #---------------------------------------------------------------------------
161
+ GENERATE_RTF = NO
162
+ RTF_OUTPUT = rtf
163
+ COMPACT_RTF = NO
164
+ RTF_HYPERLINKS = NO
165
+ RTF_STYLESHEET_FILE =
166
+ RTF_EXTENSIONS_FILE =
167
+ #---------------------------------------------------------------------------
168
+ # configuration options related to the man page output
169
+ #---------------------------------------------------------------------------
170
+ GENERATE_MAN = NO
171
+ MAN_OUTPUT = man
172
+ MAN_EXTENSION = .3
173
+ MAN_LINKS = NO
174
+ #---------------------------------------------------------------------------
175
+ # configuration options related to the XML output
176
+ #---------------------------------------------------------------------------
177
+ GENERATE_XML = NO
178
+ XML_OUTPUT = xml
179
+ XML_SCHEMA =
180
+ XML_DTD =
181
+ XML_PROGRAMLISTING = YES
182
+ #---------------------------------------------------------------------------
183
+ # configuration options for the AutoGen Definitions output
184
+ #---------------------------------------------------------------------------
185
+ GENERATE_AUTOGEN_DEF = NO
186
+ #---------------------------------------------------------------------------
187
+ # configuration options related to the Perl module output
188
+ #---------------------------------------------------------------------------
189
+ GENERATE_PERLMOD = NO
190
+ PERLMOD_LATEX = NO
191
+ PERLMOD_PRETTY = YES
192
+ PERLMOD_MAKEVAR_PREFIX =
193
+ #---------------------------------------------------------------------------
194
+ # Configuration options related to the preprocessor
195
+ #---------------------------------------------------------------------------
196
+ ENABLE_PREPROCESSING = YES
197
+ MACRO_EXPANSION = NO
198
+ EXPAND_ONLY_PREDEF = NO
199
+ SEARCH_INCLUDES = YES
200
+ INCLUDE_PATH =
201
+ INCLUDE_FILE_PATTERNS =
202
+ PREDEFINED =
203
+ EXPAND_AS_DEFINED =
204
+ SKIP_FUNCTION_MACROS = YES
205
+ #---------------------------------------------------------------------------
206
+ # Configuration::additions related to external references
207
+ #---------------------------------------------------------------------------
208
+ TAGFILES =
209
+ GENERATE_TAGFILE =
210
+ ALLEXTERNALS = NO
211
+ EXTERNAL_GROUPS = YES
212
+ PERL_PATH = /usr/bin/perl
213
+ #---------------------------------------------------------------------------
214
+ # Configuration options related to the dot tool
215
+ #---------------------------------------------------------------------------
216
+ CLASS_DIAGRAMS = NO
217
+ HIDE_UNDOC_RELATIONS = NO
218
+ HAVE_DOT = NO
219
+ CLASS_GRAPH = YES
220
+ COLLABORATION_GRAPH = YES
221
+ GROUP_GRAPHS = YES
222
+ UML_LOOK = NO
223
+ TEMPLATE_RELATIONS = YES
224
+ INCLUDE_GRAPH = YES
225
+ INCLUDED_BY_GRAPH = YES
226
+ CALL_GRAPH = NO
227
+ GRAPHICAL_HIERARCHY = YES
228
+ DIRECTORY_GRAPH = YES
229
+ DOT_IMAGE_FORMAT = png
230
+ DOT_PATH =
231
+ DOTFILE_DIRS =
232
+ MAX_DOT_GRAPH_WIDTH = 1024
233
+ MAX_DOT_GRAPH_HEIGHT = 1024
234
+ MAX_DOT_GRAPH_DEPTH = 1000
235
+ DOT_TRANSPARENT = NO
236
+ DOT_MULTI_TARGETS = NO
237
+ GENERATE_LEGEND = YES
238
+ DOT_CLEANUP = YES
239
+ #---------------------------------------------------------------------------
240
+ # Configuration::additions related to the search engine
241
+ #---------------------------------------------------------------------------
242
+ SEARCHENGINE = NO
portaudio/LICENSE.txt ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Portable header file to contain:
2
+ >>>>>
3
+ /*
4
+ * PortAudio Portable Real-Time Audio Library
5
+ * PortAudio API Header File
6
+ * Latest version available at: http://www.portaudio.com
7
+ *
8
+ * Copyright (c) 1999-2006 Ross Bencina and Phil Burk
9
+ *
10
+ * Permission is hereby granted, free of charge, to any person obtaining
11
+ * a copy of this software and associated documentation files
12
+ * (the "Software"), to deal in the Software without restriction,
13
+ * including without limitation the rights to use, copy, modify, merge,
14
+ * publish, distribute, sublicense, and/or sell copies of the Software,
15
+ * and to permit persons to whom the Software is furnished to do so,
16
+ * subject to the following conditions:
17
+ *
18
+ * The above copyright notice and this permission notice shall be
19
+ * included in all copies or substantial portions of the Software.
20
+ *
21
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
25
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ */
29
+
30
+ /*
31
+ * The text above constitutes the entire PortAudio license; however,
32
+ * the PortAudio community also makes the following non-binding requests:
33
+ *
34
+ * Any person wishing to distribute modifications to the Software is
35
+ * requested to send the modifications to the original developer so that
36
+ * they can be incorporated into the canonical version. It is also
37
+ * requested that these non-binding requests be included along with the
38
+ * license above.
39
+ */
40
+ <<<<<
41
+
42
+
43
+ Implementation files to contain:
44
+ >>>>>
45
+ /*
46
+ * PortAudio Portable Real-Time Audio Library
47
+ * Latest version at: http://www.portaudio.com
48
+ * <platform> Implementation
49
+ * Copyright (c) 1999-2000 <author(s)>
50
+ *
51
+ * Permission is hereby granted, free of charge, to any person obtaining
52
+ * a copy of this software and associated documentation files
53
+ * (the "Software"), to deal in the Software without restriction,
54
+ * including without limitation the rights to use, copy, modify, merge,
55
+ * publish, distribute, sublicense, and/or sell copies of the Software,
56
+ * and to permit persons to whom the Software is furnished to do so,
57
+ * subject to the following conditions:
58
+ *
59
+ * The above copyright notice and this permission notice shall be
60
+ * included in all copies or substantial portions of the Software.
61
+ *
62
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
63
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
64
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
65
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
66
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
67
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
68
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
69
+ */
70
+
71
+ /*
72
+ * The text above constitutes the entire PortAudio license; however,
73
+ * the PortAudio community also makes the following non-binding requests:
74
+ *
75
+ * Any person wishing to distribute modifications to the Software is
76
+ * requested to send the modifications to the original developer so that
77
+ * they can be incorporated into the canonical version. It is also
78
+ * requested that these non-binding requests be included along with the
79
+ * license above.
80
+ */
81
+ <<<<<
portaudio/Makefile.in ADDED
@@ -0,0 +1,258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #
2
+ # PortAudio V19 Makefile.in
3
+ #
4
+ # Dominic Mazzoni
5
+ # Modifications by Mikael Magnusson
6
+ # Modifications by Stelios Bounanos
7
+ #
8
+
9
+ top_srcdir = @top_srcdir@
10
+ srcdir = @srcdir@
11
+ VPATH = @srcdir@
12
+ top_builddir = .
13
+ PREFIX = @prefix@
14
+ prefix = $(PREFIX)
15
+ exec_prefix = @exec_prefix@
16
+ bindir = @bindir@
17
+ libdir = @libdir@
18
+ includedir = @includedir@
19
+ CC = @CC@
20
+ CXX = @CXX@
21
+ CFLAGS = @CFLAGS@ @DEFS@
22
+ LIBS = @LIBS@
23
+ AR = @AR@
24
+ RANLIB = @RANLIB@
25
+ SHELL = @SHELL@
26
+ LIBTOOL = @LIBTOOL@
27
+ INSTALL = @INSTALL@
28
+ INSTALL_DATA = @INSTALL_DATA@
29
+ SHARED_FLAGS = @SHARED_FLAGS@
30
+ LDFLAGS = @LDFLAGS@
31
+ DLL_LIBS = @DLL_LIBS@
32
+ CXXFLAGS = @CXXFLAGS@
33
+ NASM = @NASM@
34
+ NASMOPT = @NASMOPT@
35
+ LN_S = @LN_S@
36
+ LT_CURRENT=@LT_CURRENT@
37
+ LT_REVISION=@LT_REVISION@
38
+ LT_AGE=@LT_AGE@
39
+
40
+ OTHER_OBJS = @OTHER_OBJS@
41
+ INCLUDES = @INCLUDES@
42
+
43
+ PALIB = libportaudio.la
44
+ PAINC = include/portaudio.h
45
+
46
+ PA_LDFLAGS = $(LDFLAGS) $(SHARED_FLAGS) -rpath $(libdir) -no-undefined \
47
+ -export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa|PaAsio|PaOSS|PaWasapi|PaWasapiWinrt)_.*" \
48
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
49
+
50
+ COMMON_OBJS = \
51
+ src/common/pa_allocation.o \
52
+ src/common/pa_converters.o \
53
+ src/common/pa_cpuload.o \
54
+ src/common/pa_dither.o \
55
+ src/common/pa_debugprint.o \
56
+ src/common/pa_front.o \
57
+ src/common/pa_process.o \
58
+ src/common/pa_stream.o \
59
+ src/common/pa_trace.o \
60
+ src/hostapi/skeleton/pa_hostapi_skeleton.o
61
+
62
+ LOOPBACK_OBJS = \
63
+ qa/loopback/src/audio_analyzer.o \
64
+ qa/loopback/src/biquad_filter.o \
65
+ qa/loopback/src/paqa_tools.o \
66
+ qa/loopback/src/test_audio_analyzer.o \
67
+ qa/loopback/src/write_wav.o \
68
+ qa/loopback/src/paqa.o
69
+
70
+ EXAMPLES = \
71
+ bin/pa_devs \
72
+ bin/pa_fuzz \
73
+ bin/paex_pink \
74
+ bin/paex_read_write_wire \
75
+ bin/paex_record \
76
+ bin/paex_saw \
77
+ bin/paex_sine \
78
+ bin/paex_write_sine \
79
+ bin/paex_write_sine_nonint
80
+
81
+ SELFTESTS = \
82
+ bin/paqa_devs \
83
+ bin/paqa_errs \
84
+ bin/paqa_latency
85
+
86
+ TESTS = \
87
+ bin/patest1 \
88
+ bin/patest_buffer \
89
+ bin/patest_callbackstop \
90
+ bin/patest_clip \
91
+ bin/patest_dither \
92
+ bin/patest_hang \
93
+ bin/patest_in_overflow \
94
+ bin/patest_latency \
95
+ bin/patest_leftright \
96
+ bin/patest_longsine \
97
+ bin/patest_many \
98
+ bin/patest_maxsines \
99
+ bin/patest_mono \
100
+ bin/patest_multi_sine \
101
+ bin/patest_out_underflow \
102
+ bin/patest_prime \
103
+ bin/patest_ringmix \
104
+ bin/patest_sine8 \
105
+ bin/patest_sine_channelmaps \
106
+ bin/patest_sine_formats \
107
+ bin/patest_sine_time \
108
+ bin/patest_sine_srate \
109
+ bin/patest_start_stop \
110
+ bin/patest_stop \
111
+ bin/patest_stop_playout \
112
+ bin/patest_toomanysines \
113
+ bin/patest_two_rates \
114
+ bin/patest_underflow \
115
+ bin/patest_wire \
116
+ bin/pa_minlat
117
+
118
+ # Most of these don't compile yet. Put them in TESTS, above, if
119
+ # you want to try to compile them...
120
+ ALL_TESTS = \
121
+ $(TESTS) \
122
+ bin/patest_sync \
123
+ bin/debug_convert \
124
+ bin/debug_dither_calc \
125
+ bin/debug_dual \
126
+ bin/debug_multi_in \
127
+ bin/debug_multi_out \
128
+ bin/debug_record \
129
+ bin/debug_record_reuse \
130
+ bin/debug_sine_amp \
131
+ bin/debug_sine \
132
+ bin/debug_sine_formats \
133
+ bin/debug_srate \
134
+ bin/debug_test1
135
+
136
+ OBJS := $(COMMON_OBJS) $(OTHER_OBJS)
137
+
138
+ LTOBJS := $(OBJS:.o=.lo)
139
+
140
+ SRC_DIRS = \
141
+ src/common \
142
+ src/hostapi/alsa \
143
+ src/hostapi/asihpi \
144
+ src/hostapi/asio \
145
+ src/hostapi/coreaudio \
146
+ src/hostapi/dsound \
147
+ src/hostapi/jack \
148
+ src/hostapi/oss \
149
+ src/hostapi/skeleton \
150
+ src/hostapi/wasapi \
151
+ src/hostapi/wdmks \
152
+ src/hostapi/wmme \
153
+ src/os/unix \
154
+ src/os/win
155
+
156
+ SUBDIRS =
157
+ @ENABLE_CXX_TRUE@SUBDIRS += bindings/cpp
158
+
159
+ all: lib/$(PALIB) all-recursive tests examples selftests
160
+
161
+ tests: bin-stamp $(TESTS)
162
+
163
+ examples: bin-stamp $(EXAMPLES)
164
+
165
+ selftests: bin-stamp $(SELFTESTS)
166
+
167
+ loopback: bin-stamp bin/paloopback
168
+
169
+ # With ASIO enabled we must link libportaudio and all test programs with CXX
170
+ lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC)
171
+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
172
+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
173
+
174
+ $(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c
175
+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
176
+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
177
+
178
+ $(EXAMPLES): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) examples/%.c
179
+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
180
+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
181
+
182
+ $(SELFTESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) qa/%.c
183
+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
184
+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
185
+
186
+ bin/paloopback: lib/$(PALIB) $(MAKEFILE) $(PAINC) $(LOOPBACK_OBJS)
187
+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
188
+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
189
+
190
+ install: lib/$(PALIB) portaudio-2.0.pc
191
+ $(INSTALL) -d $(DESTDIR)$(libdir)
192
+ $(LIBTOOL) --mode=install $(INSTALL) lib/$(PALIB) $(DESTDIR)$(libdir)
193
+ $(INSTALL) -d $(DESTDIR)$(includedir)
194
+ for include in $(INCLUDES); do \
195
+ $(INSTALL_DATA) -m 644 $(top_srcdir)/include/$$include $(DESTDIR)$(includedir)/$$include; \
196
+ done
197
+ $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
198
+ $(INSTALL) -m 644 portaudio-2.0.pc $(DESTDIR)$(libdir)/pkgconfig/portaudio-2.0.pc
199
+ @echo ""
200
+ @echo "------------------------------------------------------------"
201
+ @echo "PortAudio was successfully installed."
202
+ @echo ""
203
+ @echo "On some systems (e.g. Linux) you should run 'ldconfig' now"
204
+ @echo "to make the shared object available. You may also need to"
205
+ @echo "modify your LD_LIBRARY_PATH environment variable to include"
206
+ @echo "the directory $(libdir)"
207
+ @echo "------------------------------------------------------------"
208
+ @echo ""
209
+ $(MAKE) install-recursive
210
+
211
+ uninstall:
212
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(PALIB)
213
+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(includedir)/portaudio.h
214
+ $(MAKE) uninstall-recursive
215
+
216
+ clean:
217
+ $(LIBTOOL) --mode=clean rm -f $(LTOBJS) $(LOOPBACK_OBJS) $(ALL_TESTS) lib/$(PALIB)
218
+ $(RM) bin-stamp lib-stamp
219
+ -$(RM) -r bin lib
220
+
221
+ distclean: clean
222
+ $(RM) config.log config.status Makefile libtool portaudio-2.0.pc
223
+
224
+ %.o: %.c $(MAKEFILE) $(PAINC) lib-stamp
225
+ $(CC) -c $(CFLAGS) $< -o $@
226
+
227
+ %.lo: %.c $(MAKEFILE) $(PAINC) lib-stamp
228
+ $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@
229
+
230
+ %.lo: %.cpp $(MAKEFILE) $(PAINC) lib-stamp
231
+ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@
232
+
233
+ %.o: %.cpp $(MAKEFILE) $(PAINC) lib-stamp
234
+ $(CXX) -c $(CXXFLAGS) $< -o $@
235
+
236
+ %.o: %.asm
237
+ $(NASM) $(NASMOPT) -o $@ $<
238
+
239
+ bin-stamp:
240
+ -mkdir bin
241
+ touch $@
242
+
243
+ lib-stamp:
244
+ -mkdir lib
245
+ -mkdir -p $(SRC_DIRS)
246
+ touch $@
247
+
248
+ Makefile: Makefile.in config.status
249
+ $(SHELL) config.status
250
+
251
+ all-recursive:
252
+ if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir all; done ; fi
253
+
254
+ install-recursive:
255
+ if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir install; done ; fi
256
+
257
+ uninstall-recursive:
258
+ if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir uninstall; done ; fi
portaudio/README.configure.txt ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ PortAudio uses "autoconf" tools to generate Makefiles for Linux and Mac platforms.
2
+ The source for these are configure.in and Makefile.in
3
+ If you modify either of these files then please run this command before
4
+ testing and checking in your changes. I run this command on Linux.
5
+
6
+ autoreconf -if
7
+
8
+ If you do not have autoreconf then do:
9
+ sudo apt-get install autoconf
10
+
11
+ If you get error like "possibly undefined macro: AC_LIBTOOL_WIN32_DLL"
12
+ then you try installing some more packages and then try again.
13
+
14
+ sudo apt-get install build-essential
15
+ sudo apt-get install pkg-config
16
+ sudo apt-get install libtool
17
+ autoreconf -if
18
+
19
+ Then test a build by doing:
20
+
21
+ ./configure
22
+ make clean
23
+ make
24
+
25
+ then check in the related files that are modified.
26
+ These might include files like:
27
+
28
+ configure
29
+ config.guess
30
+ depcomp
31
+ install.sh
32
+
portaudio/README.md ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PortAudio - portable audio I/O library
2
+
3
+ PortAudio is a portable audio I/O library designed for cross-platform
4
+ support of audio. It uses either a callback mechanism to request audio
5
+ processing, or blocking read/write calls to buffer data between the
6
+ native audio subsystem and the client. Audio can be processed in various
7
+ formats, including 32 bit floating point, and will be converted to the
8
+ native format internally.
9
+
10
+ ## Documentation:
11
+
12
+ * Documentation is available at http://www.portaudio.com/docs/
13
+ * Or at `/doc/html/index.html` after running Doxygen.
14
+ * Also see `src/common/portaudio.h` for the API spec.
15
+ * And see the `examples/` and `test/` directories for many examples of usage. (We suggest `examples/paex_saw.c` for an example.)
16
+
17
+ For information on compiling programs with PortAudio, please see the
18
+ tutorial at:
19
+
20
+ http://portaudio.com/docs/v19-doxydocs/tutorial_start.html
21
+
22
+ We have an active mailing list for user and developer discussions.
23
+ Please feel free to join. See http://www.portaudio.com for details.
24
+
25
+ ## Important Files and Folders:
26
+
27
+ include/portaudio.h = header file for PortAudio API. Specifies API.
28
+ src/common/ = platform independent code, host independent
29
+ code for all implementations.
30
+ src/os = os specific (but host api neutral) code
31
+ src/hostapi = implementations for different host apis
32
+
33
+
34
+ ### Host API Implementations:
35
+
36
+ src/hostapi/alsa = Advanced Linux Sound Architecture (ALSA)
37
+ src/hostapi/asihpi = AudioScience HPI
38
+ src/hostapi/asio = ASIO for Windows and Macintosh
39
+ src/hostapi/coreaudio = Macintosh Core Audio for OS X
40
+ src/hostapi/dsound = Windows Direct Sound
41
+ src/hostapi/jack = JACK Audio Connection Kit
42
+ src/hostapi/oss = Unix Open Sound System (OSS)
43
+ src/hostapi/wasapi = Windows Vista WASAPI
44
+ src/hostapi/wdmks = Windows WDM Kernel Streaming
45
+ src/hostapi/wmme = Windows MultiMedia Extensions (MME)
46
+
47
+
48
+ ### Test Programs:
49
+
50
+ test/pa_fuzz.c = guitar fuzz box
51
+ test/pa_devs.c = print a list of available devices
52
+ test/pa_minlat.c = determine minimum latency for your machine
53
+ test/paqa_devs.c = self test that opens all devices
54
+ test/paqa_errs.c = test error detection and reporting
55
+ test/patest_clip.c = hear a sine wave clipped and unclipped
56
+ test/patest_dither.c = hear effects of dithering (extremely subtle)
57
+ test/patest_pink.c = fun with pink noise
58
+ test/patest_record.c = record and playback some audio
59
+ test/patest_maxsines.c = how many sine waves can we play? Tests Pa_GetCPULoad().
60
+ test/patest_sine.c = output a sine wave in a simple PA app
61
+ test/patest_sync.c = test synchronization of audio and video
62
+ test/patest_wire.c = pass input to output, wire simulator
portaudio/SConstruct ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys, os.path
2
+
3
+ def rsplit(toSplit, sub, max=-1):
4
+ """ str.rsplit seems to have been introduced in 2.4 :( """
5
+ l = []
6
+ i = 0
7
+ while i != max:
8
+ try: idx = toSplit.rindex(sub)
9
+ except ValueError: break
10
+
11
+ toSplit, splitOff = toSplit[:idx], toSplit[idx + len(sub):]
12
+ l.insert(0, splitOff)
13
+ i += 1
14
+
15
+ l.insert(0, toSplit)
16
+ return l
17
+
18
+ sconsDir = os.path.join("build", "scons")
19
+ SConscript(os.path.join(sconsDir, "SConscript_common"))
20
+ Import("Platform", "Posix", "ApiVer")
21
+
22
+ # SConscript_opts exports PortAudio options
23
+ optsDict = SConscript(os.path.join(sconsDir, "SConscript_opts"))
24
+ optionsCache = os.path.join(sconsDir, "options.cache") # Save options between runs in this cache
25
+ options = Options(optionsCache, args=ARGUMENTS)
26
+ for k in ("Installation Dirs", "Build Targets", "Host APIs", "Build Parameters", "Bindings"):
27
+ options.AddOptions(*optsDict[k])
28
+ # Propagate options into environment
29
+ env = Environment(options=options)
30
+ # Save options for next run
31
+ options.Save(optionsCache, env)
32
+ # Generate help text for options
33
+ env.Help(options.GenerateHelpText(env))
34
+
35
+ buildDir = os.path.join("#", sconsDir, env["PLATFORM"])
36
+
37
+ # Determine parameters to build tools
38
+ if Platform in Posix:
39
+ threadCFlags = ''
40
+ if Platform != 'darwin':
41
+ threadCFlags = "-pthread "
42
+ baseLinkFlags = threadCFlags
43
+ baseCxxFlags = baseCFlags = "-Wall -pedantic -pipe " + threadCFlags
44
+ debugCxxFlags = debugCFlags = "-g"
45
+ optCxxFlags = optCFlags = "-O2"
46
+ env.Append(CCFLAGS = baseCFlags)
47
+ env.Append(CXXFLAGS = baseCxxFlags)
48
+ env.Append(LINKFLAGS = baseLinkFlags)
49
+ if env["enableDebug"]:
50
+ env.AppendUnique(CCFLAGS=debugCFlags.split())
51
+ env.AppendUnique(CXXFLAGS=debugCxxFlags.split())
52
+ if env["enableOptimize"]:
53
+ env.AppendUnique(CCFLAGS=optCFlags.split())
54
+ env.AppendUnique(CXXFLAGS=optCxxFlags.split())
55
+ if not env["enableAsserts"]:
56
+ env.AppendUnique(CPPDEFINES=["-DNDEBUG"])
57
+ if env["customCFlags"]:
58
+ env.Append(CCFLAGS=Split(env["customCFlags"]))
59
+ if env["customCxxFlags"]:
60
+ env.Append(CXXFLAGS=Split(env["customCxxFlags"]))
61
+ if env["customLinkFlags"]:
62
+ env.Append(LINKFLAGS=Split(env["customLinkFlags"]))
63
+
64
+ env.Append(CPPPATH=[os.path.join("#", "include"), "common"])
65
+
66
+ # Store all signatures in one file, otherwise .sconsign files will get installed along with our own files
67
+ env.SConsignFile(os.path.join(sconsDir, ".sconsign"))
68
+
69
+ env.SConscriptChdir(False)
70
+ sources, sharedLib, staticLib, tests, portEnv, hostApis = env.SConscript(os.path.join("src", "SConscript"),
71
+ build_dir=buildDir, duplicate=False, exports=["env"])
72
+
73
+ if Platform in Posix:
74
+ prefix = env["prefix"]
75
+ includeDir = os.path.join(prefix, "include")
76
+ libDir = os.path.join(prefix, "lib")
77
+ env.Alias("install", includeDir)
78
+ env.Alias("install", libDir)
79
+
80
+ # pkg-config
81
+
82
+ def installPkgconfig(env, target, source):
83
+ tgt = str(target[0])
84
+ src = str(source[0])
85
+ f = open(src)
86
+ try: txt = f.read()
87
+ finally: f.close()
88
+ txt = txt.replace("@prefix@", prefix)
89
+ txt = txt.replace("@exec_prefix@", prefix)
90
+ txt = txt.replace("@libdir@", libDir)
91
+ txt = txt.replace("@includedir@", includeDir)
92
+ txt = txt.replace("@LIBS@", " ".join(["-l%s" % l for l in portEnv["LIBS"]]))
93
+ txt = txt.replace("@THREAD_CFLAGS@", threadCFlags)
94
+
95
+ f = open(tgt, "w")
96
+ try: f.write(txt)
97
+ finally: f.close()
98
+
99
+ pkgconfigTgt = "portaudio-%d.0.pc" % int(ApiVer.split(".", 1)[0])
100
+ env.Command(os.path.join(libDir, "pkgconfig", pkgconfigTgt),
101
+ os.path.join("#", pkgconfigTgt + ".in"), installPkgconfig)
102
+
103
+ # Default to None, since if the user disables all targets and no Default is set, all targets
104
+ # are built by default
105
+ env.Default(None)
106
+ if env["enableTests"]:
107
+ env.Default(tests)
108
+ if env["enableShared"]:
109
+ env.Default(sharedLib)
110
+
111
+ if Platform in Posix:
112
+ def symlink(env, target, source):
113
+ trgt = str(target[0])
114
+ src = str(source[0])
115
+
116
+ if os.path.islink(trgt) or os.path.exists(trgt):
117
+ os.remove(trgt)
118
+ os.symlink(os.path.basename(src), trgt)
119
+
120
+ major, minor, micro = [int(c) for c in ApiVer.split(".")]
121
+
122
+ soFile = "%s.%s" % (os.path.basename(str(sharedLib[0])), ApiVer)
123
+ env.InstallAs(target=os.path.join(libDir, soFile), source=sharedLib)
124
+ # Install symlinks
125
+ symTrgt = os.path.join(libDir, soFile)
126
+ env.Command(os.path.join(libDir, "libportaudio.so.%d.%d" % (major, minor)),
127
+ symTrgt, symlink)
128
+ symTrgt = rsplit(symTrgt, ".", 1)[0]
129
+ env.Command(os.path.join(libDir, "libportaudio.so.%d" % major), symTrgt, symlink)
130
+ symTrgt = rsplit(symTrgt, ".", 1)[0]
131
+ env.Command(os.path.join(libDir, "libportaudio.so"), symTrgt, symlink)
132
+
133
+ if env["enableStatic"]:
134
+ env.Default(staticLib)
135
+ env.Install(libDir, staticLib)
136
+
137
+ env.Install(includeDir, os.path.join("include", "portaudio.h"))
138
+
139
+
140
+ if env["enableCxx"]:
141
+ env.SConscriptChdir(True)
142
+ cxxEnv = env.Copy()
143
+ sharedLibs, staticLibs, headers = env.SConscript(os.path.join("bindings", "cpp", "SConscript"),
144
+ exports={"env": cxxEnv, "buildDir": buildDir}, build_dir=os.path.join(buildDir, "portaudiocpp"), duplicate=False)
145
+ if env["enableStatic"]:
146
+ env.Default(staticLibs)
147
+ env.Install(libDir, staticLibs)
148
+ if env["enableShared"]:
149
+ env.Default(sharedLibs)
150
+ env.Install(libDir, sharedLibs)
151
+ env.Install(os.path.join(includeDir, "portaudiocpp"), headers)
152
+
153
+ # Generate portaudio_config.h header with compile-time definitions of which PA
154
+ # back-ends are available, and which includes back-end extension headers
155
+
156
+ # Host-specific headers
157
+ hostApiHeaders = {"ALSA": "pa_linux_alsa.h",
158
+ "ASIO": "pa_asio.h",
159
+ "COREAUDIO": "pa_mac_core.h",
160
+ "JACK": "pa_jack.h",
161
+ "WMME": "pa_winwmme.h",
162
+ }
163
+
164
+ def buildConfigH(target, source, env):
165
+ """builder for portaudio_config.h"""
166
+ global hostApiHeaders, hostApis
167
+ out = ""
168
+ for hostApi in hostApis:
169
+ out += "#define PA_HAVE_%s\n" % hostApi
170
+
171
+ hostApiSpecificHeader = hostApiHeaders.get(hostApi, None)
172
+ if hostApiSpecificHeader:
173
+ out += "#include \"%s\"\n" % hostApiSpecificHeader
174
+
175
+ out += "\n"
176
+ # Strip the last newline
177
+ if out and out[-1] == "\n":
178
+ out = out[:-1]
179
+
180
+ f = file(str(target[0]), 'w')
181
+ try: f.write(out)
182
+ finally: f.close()
183
+ return 0
184
+
185
+ # Define the builder for the config header
186
+ env.Append(BUILDERS={"portaudioConfig": env.Builder(
187
+ action=Action(buildConfigH), target_factory=env.fs.File)})
188
+
189
+ confH = env.portaudioConfig(File("portaudio_config.h", "include"),
190
+ File("portaudio.h", "include"))
191
+ env.Default(confH)
192
+ env.Install(os.path.join(includeDir, "portaudio"), confH)
193
+
194
+ for api in hostApis:
195
+ if api in hostApiHeaders:
196
+ env.Install(os.path.join(includeDir, "portaudio"),
197
+ File(hostApiHeaders[api], "include"))
portaudio/aclocal.m4 ADDED
The diff for this file is too large to render. See raw diff
 
portaudio/bindings/cpp/AUTHORS ADDED
File without changes
portaudio/bindings/cpp/COPYING ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ PortAudio Portable Real-Time Audio Library
2
+ Copyright (c) 1999-2006 Ross Bencina and Phil Burk
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files
6
+ (the "Software"), to deal in the Software without restriction,
7
+ including without limitation the rights to use, copy, modify, merge,
8
+ publish, distribute, sublicense, and/or sell copies of the Software,
9
+ and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
19
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
20
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+
23
+
24
+ The text above constitutes the entire PortAudio license; however,
25
+ the PortAudio community also makes the following non-binding requests:
26
+
27
+ Any person wishing to distribute modifications to the Software is
28
+ requested to send the modifications to the original developer so that
29
+ they can be incorporated into the canonical version. It is also
30
+ requested that these non-binding requests be included along with the
31
+ license above.
portaudio/bindings/cpp/ChangeLog ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Note: Because PortAudioCpp is now in the main PortAudio SVN repository, having these per-release changelogs probably doesn't make much sense anymore. Perhaps it's better to just note mayor changes by date from now on.
2
+
3
+ PortAudioCpp v19 revision 16 06/05/22:
4
+
5
+ mblaauw:
6
+ - Added up-to-date MSVC 6.0 projects created by David Moore. Besides MSVC 6.0 users, MSVC 7.0 users may use these projects and automatically convert them to MSVC 7.0 projects.
7
+ - Changed the code and projects (MSVC 7.1 only) to be up-to-date with PortAudio's new directory structure.
8
+ - Added equivalents of the PaAsio_GetInputChannelName() and PaAsio_GetOutputChannelName() functions to the AsioDeviceAdapter wrapper-class (missing functions pointed out by David Moore).
9
+ - Added code to PortAudio's main SVN repository.
10
+
11
+ PortAudioCpp v19 revision 15 (unknown release date):
12
+
13
+ mblaauw:
14
+ - Changed some exception handling code in HostApi's constructor.
15
+ - Added accessors to PortAudio PaStream from PortAudioCpp Stream (their absence being pointed out
16
+ by Tom Jordan).
17
+ - Fixed a bug/typo in MemFunToCallbackInterfaceAdapter::init() thanks to Fredrik Viklund.
18
+ - Fixed issue with concrete Stream classes possibly throwing an exception and fixed documentation w.r.t. this.
19
+ - Moved files to portaudio/binding/cpp/. Made new msvc 7.1 projects to reflect the change and removed msvc 6.0
20
+ and 7.0 projects (because I can no longer maintain them myself). Gnu projects will probably need updating.
21
+
22
+ PortAudioCpp v19 revision 14 03/10/24:
23
+
24
+ mblaauw:
25
+ - Fixed some error handling bugs in Stream and System (pointed out by Tom Jordan).
26
+ - Updated documentation a little (main page).
27
+ - Fixed order of members so initializer list was in the right order in
28
+ StreamParameters (pointed out by Ludwig Schwardt).
29
+ - Added new lines at EOF's (as indicated by Ludwig Schwardt).
30
+
31
+ PortAudioCpp v19 revision 13 03/10/19:
32
+
33
+ lschwardt:
34
+ - Added build files for GNU/Linux.
35
+ - Fixed bug in Exception where the inherited what() member function (and destructor) had looser
36
+ exception specification (namely no exception specification, i.e. could throw anything) than
37
+ the std::exception base class's what() member function (which had throw(), i.e. no-throw guarantee).
38
+ - Changed the iterators so that they have a set of public typedefs instead of deriving the C++ standard
39
+ library std::iterator<> struct. G++ 2.95 doesn't support std::exception<> and composition-by-aggregation
40
+ is preferred over composition-by-inheritance in this case.
41
+ - Changed some minor things to avoid G++ warning messages.
42
+
43
+ mblaauw:
44
+ - Renamed this file (/WHATSNEW.txt) to /CHANGELOG.
45
+ - Renamed /PA_ISSUES.txt to /PA_ISSUES.
46
+ - Added /INSTALL file with some build info for GNU/Linux and VC6.
47
+ - Added MSVC 6.0 projects for building PortAudioCpp as a statically or dynamically linkable library.
48
+ - Moved build files to /build/(gnu/ or vc6/).
49
+ - Moved Doxygen configuration files to /doc/ and output to /doc/api_reference/.
50
+ - Added a /doc/README with some info how to generate Doxygen documentation.
51
+
52
+ PortAudioCpp v19 revision 12 03/09/02:
53
+
54
+ mblaauw:
55
+ - Updated code to reflect changes on V19-devel CVS branch.
56
+ - Fixed some typos in the documentation.
57
+
58
+ PortAudioCpp v19 revision 11 03/07/31:
59
+
60
+ mblaauw:
61
+ - Renamed SingleDirecionStreamParameters to DirectionSpecificStreamParameters.
62
+ - Implemented BlockingStream.
63
+ - Updated code to reflect recent changes to PortAudio V19-devel.
64
+ - Fixed a potential memory leak when an exception was thrown in the HostApi
65
+ constructor.
66
+ - Renamed ``Latency'' to ``BufferSize'' in AsioDeviceAdapter.
67
+ - Updated class documentation.
68
+
69
+ PortAudioCpp v19 revision 10 03/07/18:
70
+
71
+ mblaauw:
72
+ - SingleDirectionStreamParameters now has a (static) null() method.
73
+ - StreamParameters uses references for the direction-specific stream parameters
74
+ instead of pointers (use null() method (above) instead of NULL).
75
+ - StreamParameters and SingleDirectionStreamParameters must now be fully specified
76
+ and now default values are used (because this was not very useful in general and
77
+ only made things more complex).
78
+ - Updated documentation.
79
+
80
+ PortAudioCpp v19 revision 09 03/06/25:
81
+
82
+ mblaauw:
83
+ - Changed some things in SingleDirectionStreamParameters to ease it's usage.
84
+ - Placed all SingleDirectionStreamParameters stuff into a separate file.
85
+ + Totally redid the callback stuff, now it's less awkward and supports C++ functions.
86
+
87
+ PortAudioCpp v19 revision 08 03/06/20:
88
+
89
+ mblaauw:
90
+ - Made deconstructors for Device and HostApi private.
91
+ + Added a AsioDeviceWrapper host api specific device extension class.
92
+ - Refactored Exception into a Exception base class and PaException and PaCppException
93
+ derived classes.
94
+ - Added ASIO specific device info to the devs.cxx example.
95
+ - Fixed a bug in System::hostApiCount() and System::defaultHostApi().
96
+ + Moved Device::null to System::nullDevice.
97
+ - Fixed some bugs in Device and System.
98
+
99
+ PortAudioCpp v19 revision 07 03/06/08:
100
+
101
+ mblaauw:
102
+ - Updated some doxy comments.
103
+ + Renamed CbXyz to CallbackXyz.
104
+ + Renamed all ``configurations'' to ``parameters''.
105
+ + Renamed HalfDuplexStreamConfiguration to SingleDirectionStreamConfiguration.
106
+ - Renamed SingleDirectionStreamParameters::streamParameters() to
107
+ SingleDirectionStreamParameters::paSteamParameters.
108
+ - Added a non-constant version of SingleDirectionStreamParameters::paStreamParameters().
109
+ - A few improvements to SingleDirectionStreamParameters.
110
+ - Allowed AutoSystem to be created without initializing the System singleton
111
+ (using a ctor flag).
112
+ - Added a BlockingStream class (not implemented for now).
113
+ - Fixed many bugs in the implementation of the iterators.
114
+ - Fixed a bug in Device::operator==().
115
+ + Added a C++ version of the patest_sine.c test/example.
116
+ - Added a ctor for StreamParameters for a default half-duplex stream.
117
+ - Added SingleDirectionStreamParameters::setDevice() and setNumChannels().
118
+ - Renamed System::numHostApis() to System::hostApiCount().
119
+ + Rewrote the iterators and related classes. They are now fully STL compliant. The System now
120
+ has a static array of all HostApis and all Devices. Only the System can create HostApis and
121
+ Devices and they are non-copyable now. All HostApis and Devices are now passed by-reference.
122
+ - Renamed (System::) getVersion() to version() and getVersionText() to versionText().
123
+ - Renamed (Device::) numXyzChannels() to maxXyzChannels().
124
+ - Changed some stuff in StreamParameters.
125
+ + Added a C++ version of the patest_devs.c test/example.
126
+
127
+ PortAudioCpp v19 revision 06 03/06/04:
128
+
129
+ mblaauw:
130
+ + Added this file to the project (roughly, a `+' denotes a major change, a `-' a minor change).
131
+ - Added System::deviceByIndex(), useful when a Device's index is stored for instance.
132
+ - Renamed System::hostApiFromTypeId() to System::hostApiByTypeId().
133
+ - Updated and added some Doxygen documentation.
134
+ - Made Stream::usedIntputLatency(), Stream::usedOutputLatency() and
135
+ Stream::usedSampleRate() throw an paInternalError equivalent exception instead of paBadStreamPtr.
136
+ - Changed exception handling in Stream::open() functions. They now follow the PA error handling
137
+ mechanism better and a couple of bugs regarding ownership of objects were fixed.
138
+ - Renamed Device::isDefaultXyzDevice() to Device::isSystemDefaultXyzDevice().
139
+ - Added Device::isHostApiDefaultXyzDevice().
140
+ - Added StreamConfiguration::unsetFlag().
141
+ - Removed CUSTOM from SampleDataFormat.
142
+ - System::hostApiByTypeId() now throws an paInternalError if the type id was out-of-range; this
143
+ is a temporary work-around (see comments).
144
+ - Changed CbInterface to use paCallbackFun() instead of operator()().
145
+ - Renamed ``object'' to ``instance'' in CbMemFunAdapter.hxx.
146
+ - Added StreamConfiguration::setXyzHostApiSpecificSampleFormat().
147
+ - Added StreamConfiguration::isXyzSampleFormatHostApiSpecific().
148
+ - Changed error handling in System::terminate(), it can now throw an Exception.
149
+ - Added error handling in System::defaultHostApi().
150
+ - Added error handling in System::hostApisEnd().
151
+ - Changed some (but probably not all) C casts to C++ casts to avoid confusion with a
152
+ certain Python person.
153
+ - Renamed RaiiSystem to AutoSystem (class and file) as this is a come common convention.
154
+ - Renamed System::numDevices() to System::deviceCount() to be more compatible with PortAudio
155
+ (although PortAudio uses Pa_CountDevices() instead, see comment).
156
+ - Renamed HostApi::numDevices() to HostApi::deviceCount().
157
+ - Changed INC_ to INCLUDED_ in the header multiple include guards.
158
+ - Changed the order of functions in the StreamConfiguration class' header.
159
+ - Written some more info in PortAudioCpp.hxx (Doxygen).
160
+ - Added CallbackStream.hxx and CallbackStream.cxx files.
161
+ + Refactored StreamConfiguration to remove the duplication which was there. There is now a
162
+ HalfDuplexStreamConfiguration class. Also made some improvements to these classes while
163
+ doing the refactoring.
164
+ + Moved all code files to source/portaudiocpp/ and changed includes.
165
+ + Moved all header files to include/portaudiocpp/ to easy a binary build if needed. The project
166
+ must be set to have .../include/ as a path to look for includes.
167
+ + Refactored the Stream class into a Stream base class and a CallbackStream derived class.
168
+ - Renamed Stream::usingXyz() to Stream::xyz().
169
+ - Updated some doxy comments.
170
+ - Changed ``using namespace portaudio'' in .cxx files to ``namespace portaudio { ... }''.
171
+
172
+ PortAudioCpp v19 revision 05 03/04/09:
173
+
174
+ mblaauw:
175
+ - Initial release on the PortAudio mailinglist.
176
+
177
+
178
+
portaudio/bindings/cpp/INSTALL ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Installation Instructions
2
+ *************************
3
+
4
+ Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
5
+ Inc.
6
+
7
+ Copying and distribution of this file, with or without modification,
8
+ are permitted in any medium without royalty provided the copyright
9
+ notice and this notice are preserved. This file is offered as-is,
10
+ without warranty of any kind.
11
+
12
+ Basic Installation
13
+ ==================
14
+
15
+ Briefly, the shell command `./configure && make && make install'
16
+ should configure, build, and install this package. The following
17
+ more-detailed instructions are generic; see the `README' file for
18
+ instructions specific to this package. Some packages provide this
19
+ `INSTALL' file but do not implement all of the features documented
20
+ below. The lack of an optional feature in a given package is not
21
+ necessarily a bug. More recommendations for GNU packages can be found
22
+ in *note Makefile Conventions: (standards)Makefile Conventions.
23
+
24
+ The `configure' shell script attempts to guess correct values for
25
+ various system-dependent variables used during compilation. It uses
26
+ those values to create a `Makefile' in each directory of the package.
27
+ It may also create one or more `.h' files containing system-dependent
28
+ definitions. Finally, it creates a shell script `config.status' that
29
+ you can run in the future to recreate the current configuration, and a
30
+ file `config.log' containing compiler output (useful mainly for
31
+ debugging `configure').
32
+
33
+ It can also use an optional file (typically called `config.cache'
34
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
35
+ the results of its tests to speed up reconfiguring. Caching is
36
+ disabled by default to prevent problems with accidental use of stale
37
+ cache files.
38
+
39
+ If you need to do unusual things to compile the package, please try
40
+ to figure out how `configure' could check whether to do them, and mail
41
+ diffs or instructions to the address given in the `README' so they can
42
+ be considered for the next release. If you are using the cache, and at
43
+ some point `config.cache' contains results you don't want to keep, you
44
+ may remove or edit it.
45
+
46
+ The file `configure.ac' (or `configure.in') is used to create
47
+ `configure' by a program called `autoconf'. You need `configure.ac' if
48
+ you want to change it or regenerate `configure' using a newer version
49
+ of `autoconf'.
50
+
51
+ The simplest way to compile this package is:
52
+
53
+ 1. `cd' to the directory containing the package's source code and type
54
+ `./configure' to configure the package for your system.
55
+
56
+ Running `configure' might take a while. While running, it prints
57
+ some messages telling which features it is checking for.
58
+
59
+ 2. Type `make' to compile the package.
60
+
61
+ 3. Optionally, type `make check' to run any self-tests that come with
62
+ the package, generally using the just-built uninstalled binaries.
63
+
64
+ 4. Type `make install' to install the programs and any data files and
65
+ documentation. When installing into a prefix owned by root, it is
66
+ recommended that the package be configured and built as a regular
67
+ user, and only the `make install' phase executed with root
68
+ privileges.
69
+
70
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
71
+ this time using the binaries in their final installed location.
72
+ This target does not install anything. Running this target as a
73
+ regular user, particularly if the prior `make install' required
74
+ root privileges, verifies that the installation completed
75
+ correctly.
76
+
77
+ 6. You can remove the program binaries and object files from the
78
+ source code directory by typing `make clean'. To also remove the
79
+ files that `configure' created (so you can compile the package for
80
+ a different kind of computer), type `make distclean'. There is
81
+ also a `make maintainer-clean' target, but that is intended mainly
82
+ for the package's developers. If you use it, you may have to get
83
+ all sorts of other programs in order to regenerate files that came
84
+ with the distribution.
85
+
86
+ 7. Often, you can also type `make uninstall' to remove the installed
87
+ files again. In practice, not all packages have tested that
88
+ uninstallation works correctly, even though it is required by the
89
+ GNU Coding Standards.
90
+
91
+ 8. Some packages, particularly those that use Automake, provide `make
92
+ distcheck', which can by used by developers to test that all other
93
+ targets like `make install' and `make uninstall' work correctly.
94
+ This target is generally not run by end users.
95
+
96
+ Compilers and Options
97
+ =====================
98
+
99
+ Some systems require unusual options for compilation or linking that
100
+ the `configure' script does not know about. Run `./configure --help'
101
+ for details on some of the pertinent environment variables.
102
+
103
+ You can give `configure' initial values for configuration parameters
104
+ by setting variables in the command line or in the environment. Here
105
+ is an example:
106
+
107
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
108
+
109
+ *Note Defining Variables::, for more details.
110
+
111
+ Compiling For Multiple Architectures
112
+ ====================================
113
+
114
+ You can compile the package for more than one kind of computer at the
115
+ same time, by placing the object files for each architecture in their
116
+ own directory. To do this, you can use GNU `make'. `cd' to the
117
+ directory where you want the object files and executables to go and run
118
+ the `configure' script. `configure' automatically checks for the
119
+ source code in the directory that `configure' is in and in `..'. This
120
+ is known as a "VPATH" build.
121
+
122
+ With a non-GNU `make', it is safer to compile the package for one
123
+ architecture at a time in the source code directory. After you have
124
+ installed the package for one architecture, use `make distclean' before
125
+ reconfiguring for another architecture.
126
+
127
+ On MacOS X 10.5 and later systems, you can create libraries and
128
+ executables that work on multiple system types--known as "fat" or
129
+ "universal" binaries--by specifying multiple `-arch' options to the
130
+ compiler but only a single `-arch' option to the preprocessor. Like
131
+ this:
132
+
133
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
134
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
135
+ CPP="gcc -E" CXXCPP="g++ -E"
136
+
137
+ This is not guaranteed to produce working output in all cases, you
138
+ may have to build one architecture at a time and combine the results
139
+ using the `lipo' tool if you have problems.
140
+
141
+ Installation Names
142
+ ==================
143
+
144
+ By default, `make install' installs the package's commands under
145
+ `/usr/local/bin', include files under `/usr/local/include', etc. You
146
+ can specify an installation prefix other than `/usr/local' by giving
147
+ `configure' the option `--prefix=PREFIX', where PREFIX must be an
148
+ absolute file name.
149
+
150
+ You can specify separate installation prefixes for
151
+ architecture-specific files and architecture-independent files. If you
152
+ pass the option `--exec-prefix=PREFIX' to `configure', the package uses
153
+ PREFIX as the prefix for installing programs and libraries.
154
+ Documentation and other data files still use the regular prefix.
155
+
156
+ In addition, if you use an unusual directory layout you can give
157
+ options like `--bindir=DIR' to specify different values for particular
158
+ kinds of files. Run `configure --help' for a list of the directories
159
+ you can set and what kinds of files go in them. In general, the
160
+ default for these options is expressed in terms of `${prefix}', so that
161
+ specifying just `--prefix' will affect all of the other directory
162
+ specifications that were not explicitly provided.
163
+
164
+ The most portable way to affect installation locations is to pass the
165
+ correct locations to `configure'; however, many packages provide one or
166
+ both of the following shortcuts of passing variable assignments to the
167
+ `make install' command line to change installation locations without
168
+ having to reconfigure or recompile.
169
+
170
+ The first method involves providing an override variable for each
171
+ affected directory. For example, `make install
172
+ prefix=/alternate/directory' will choose an alternate location for all
173
+ directory configuration variables that were expressed in terms of
174
+ `${prefix}'. Any directories that were specified during `configure',
175
+ but not in terms of `${prefix}', must each be overridden at install
176
+ time for the entire installation to be relocated. The approach of
177
+ makefile variable overrides for each directory variable is required by
178
+ the GNU Coding Standards, and ideally causes no recompilation.
179
+ However, some platforms have known limitations with the semantics of
180
+ shared libraries that end up requiring recompilation when using this
181
+ method, particularly noticeable in packages that use GNU Libtool.
182
+
183
+ The second method involves providing the `DESTDIR' variable. For
184
+ example, `make install DESTDIR=/alternate/directory' will prepend
185
+ `/alternate/directory' before all installation names. The approach of
186
+ `DESTDIR' overrides is not required by the GNU Coding Standards, and
187
+ does not work on platforms that have drive letters. On the other hand,
188
+ it does better at avoiding recompilation issues, and works well even
189
+ when some directory options were not specified in terms of `${prefix}'
190
+ at `configure' time.
191
+
192
+ Optional Features
193
+ =================
194
+
195
+ If the package supports it, you can cause programs to be installed
196
+ with an extra prefix or suffix on their names by giving `configure' the
197
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
198
+
199
+ Some packages pay attention to `--enable-FEATURE' options to
200
+ `configure', where FEATURE indicates an optional part of the package.
201
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
202
+ is something like `gnu-as' or `x' (for the X Window System). The
203
+ `README' should mention any `--enable-' and `--with-' options that the
204
+ package recognizes.
205
+
206
+ For packages that use the X Window System, `configure' can usually
207
+ find the X include and library files automatically, but if it doesn't,
208
+ you can use the `configure' options `--x-includes=DIR' and
209
+ `--x-libraries=DIR' to specify their locations.
210
+
211
+ Some packages offer the ability to configure how verbose the
212
+ execution of `make' will be. For these packages, running `./configure
213
+ --enable-silent-rules' sets the default to minimal output, which can be
214
+ overridden with `make V=1'; while running `./configure
215
+ --disable-silent-rules' sets the default to verbose, which can be
216
+ overridden with `make V=0'.
217
+
218
+ Particular systems
219
+ ==================
220
+
221
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
222
+ CC is not installed, it is recommended to use the following options in
223
+ order to use an ANSI C compiler:
224
+
225
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
226
+
227
+ and if that doesn't work, install pre-built binaries of GCC for HP-UX.
228
+
229
+ HP-UX `make' updates targets which have the same time stamps as
230
+ their prerequisites, which makes it generally unusable when shipped
231
+ generated files such as `configure' are involved. Use GNU `make'
232
+ instead.
233
+
234
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
235
+ parse its `<wchar.h>' header file. The option `-nodtk' can be used as
236
+ a workaround. If GNU CC is not installed, it is therefore recommended
237
+ to try
238
+
239
+ ./configure CC="cc"
240
+
241
+ and if that doesn't work, try
242
+
243
+ ./configure CC="cc -nodtk"
244
+
245
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
246
+ directory contains several dysfunctional programs; working variants of
247
+ these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
248
+ in your `PATH', put it _after_ `/usr/bin'.
249
+
250
+ On Haiku, software installed for all users goes in `/boot/common',
251
+ not `/usr/local'. It is recommended to use the following options:
252
+
253
+ ./configure --prefix=/boot/common
254
+
255
+ Specifying the System Type
256
+ ==========================
257
+
258
+ There may be some features `configure' cannot figure out
259
+ automatically, but needs to determine by the type of machine the package
260
+ will run on. Usually, assuming the package is built to be run on the
261
+ _same_ architectures, `configure' can figure that out, but if it prints
262
+ a message saying it cannot guess the machine type, give it the
263
+ `--build=TYPE' option. TYPE can either be a short name for the system
264
+ type, such as `sun4', or a canonical name which has the form:
265
+
266
+ CPU-COMPANY-SYSTEM
267
+
268
+ where SYSTEM can have one of these forms:
269
+
270
+ OS
271
+ KERNEL-OS
272
+
273
+ See the file `config.sub' for the possible values of each field. If
274
+ `config.sub' isn't included in this package, then this package doesn't
275
+ need to know the machine type.
276
+
277
+ If you are _building_ compiler tools for cross-compiling, you should
278
+ use the option `--target=TYPE' to select the type of system they will
279
+ produce code for.
280
+
281
+ If you want to _use_ a cross compiler, that generates code for a
282
+ platform different from the build platform, you should specify the
283
+ "host" platform (i.e., that on which the generated programs will
284
+ eventually be run) with `--host=TYPE'.
285
+
286
+ Sharing Defaults
287
+ ================
288
+
289
+ If you want to set default values for `configure' scripts to share,
290
+ you can create a site shell script called `config.site' that gives
291
+ default values for variables like `CC', `cache_file', and `prefix'.
292
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
293
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
294
+ `CONFIG_SITE' environment variable to the location of the site script.
295
+ A warning: not all `configure' scripts look for a site script.
296
+
297
+ Defining Variables
298
+ ==================
299
+
300
+ Variables not defined in a site shell script can be set in the
301
+ environment passed to `configure'. However, some packages may run
302
+ configure again during the build, and the customized values of these
303
+ variables may be lost. In order to avoid this problem, you should set
304
+ them in the `configure' command line, using `VAR=value'. For example:
305
+
306
+ ./configure CC=/usr/local2/bin/gcc
307
+
308
+ causes the specified `gcc' to be used as the C compiler (unless it is
309
+ overridden in the site shell script).
310
+
311
+ Unfortunately, this technique does not work for `CONFIG_SHELL' due to
312
+ an Autoconf limitation. Until the limitation is lifted, you can use
313
+ this workaround:
314
+
315
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
316
+
317
+ `configure' Invocation
318
+ ======================
319
+
320
+ `configure' recognizes the following options to control how it
321
+ operates.
322
+
323
+ `--help'
324
+ `-h'
325
+ Print a summary of all of the options to `configure', and exit.
326
+
327
+ `--help=short'
328
+ `--help=recursive'
329
+ Print a summary of the options unique to this package's
330
+ `configure', and exit. The `short' variant lists options used
331
+ only in the top level, while the `recursive' variant lists options
332
+ also present in any nested packages.
333
+
334
+ `--version'
335
+ `-V'
336
+ Print the version of Autoconf used to generate the `configure'
337
+ script, and exit.
338
+
339
+ `--cache-file=FILE'
340
+ Enable the cache: use and save the results of the tests in FILE,
341
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
342
+ disable caching.
343
+
344
+ `--config-cache'
345
+ `-C'
346
+ Alias for `--cache-file=config.cache'.
347
+
348
+ `--quiet'
349
+ `--silent'
350
+ `-q'
351
+ Do not print messages saying which checks are being made. To
352
+ suppress all normal output, redirect it to `/dev/null' (any error
353
+ messages will still be shown).
354
+
355
+ `--srcdir=DIR'
356
+ Look for the package's source code in directory DIR. Usually
357
+ `configure' can determine that directory automatically.
358
+
359
+ `--prefix=DIR'
360
+ Use DIR as the installation prefix. *note Installation Names::
361
+ for more details, including other options available for fine-tuning
362
+ the installation locations.
363
+
364
+ `--no-create'
365
+ `-n'
366
+ Run the configure checks, but stop before creating any output
367
+ files.
368
+
369
+ `configure' also accepts some other, not widely useful, options. Run
370
+ `configure --help' for more details.
portaudio/bindings/cpp/Makefile.am ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ SUBDIRS = lib include bin
2
+ #doc
3
+
4
+ EXTRA_DIST = portaudiocpp.pc
5
+
6
+ pkgconfigdir = $(libdir)/pkgconfig
7
+ pkgconfig_DATA = portaudiocpp.pc
portaudio/bindings/cpp/Makefile.in ADDED
@@ -0,0 +1,848 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile.in generated by automake 1.14.1 from Makefile.am.
2
+ # @configure_input@
3
+
4
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
5
+
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+ @SET_MAKE@
16
+
17
+ VPATH = @srcdir@
18
+ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
19
+ am__make_running_with_option = \
20
+ case $${target_option-} in \
21
+ ?) ;; \
22
+ *) echo "am__make_running_with_option: internal error: invalid" \
23
+ "target option '$${target_option-}' specified" >&2; \
24
+ exit 1;; \
25
+ esac; \
26
+ has_opt=no; \
27
+ sane_makeflags=$$MAKEFLAGS; \
28
+ if $(am__is_gnu_make); then \
29
+ sane_makeflags=$$MFLAGS; \
30
+ else \
31
+ case $$MAKEFLAGS in \
32
+ *\\[\ \ ]*) \
33
+ bs=\\; \
34
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
35
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
36
+ esac; \
37
+ fi; \
38
+ skip_next=no; \
39
+ strip_trailopt () \
40
+ { \
41
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
42
+ }; \
43
+ for flg in $$sane_makeflags; do \
44
+ test $$skip_next = yes && { skip_next=no; continue; }; \
45
+ case $$flg in \
46
+ *=*|--*) continue;; \
47
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
48
+ -*I?*) strip_trailopt 'I';; \
49
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
50
+ -*O?*) strip_trailopt 'O';; \
51
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
52
+ -*l?*) strip_trailopt 'l';; \
53
+ -[dEDm]) skip_next=yes;; \
54
+ -[JT]) skip_next=yes;; \
55
+ esac; \
56
+ case $$flg in \
57
+ *$$target_option*) has_opt=yes; break;; \
58
+ esac; \
59
+ done; \
60
+ test $$has_opt = yes
61
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
62
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
63
+ pkgdatadir = $(datadir)/@PACKAGE@
64
+ pkgincludedir = $(includedir)/@PACKAGE@
65
+ pkglibdir = $(libdir)/@PACKAGE@
66
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
67
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
68
+ install_sh_DATA = $(install_sh) -c -m 644
69
+ install_sh_PROGRAM = $(install_sh) -c
70
+ install_sh_SCRIPT = $(install_sh) -c
71
+ INSTALL_HEADER = $(INSTALL_DATA)
72
+ transform = $(program_transform_name)
73
+ NORMAL_INSTALL = :
74
+ PRE_INSTALL = :
75
+ POST_INSTALL = :
76
+ NORMAL_UNINSTALL = :
77
+ PRE_UNINSTALL = :
78
+ POST_UNINSTALL = :
79
+ build_triplet = @build@
80
+ host_triplet = @host@
81
+ subdir = .
82
+ DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
83
+ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
84
+ $(top_srcdir)/configure $(am__configure_deps) \
85
+ $(srcdir)/portaudiocpp.pc.in COPYING \
86
+ $(top_srcdir)/../../compile $(top_srcdir)/../../config.guess \
87
+ $(top_srcdir)/../../config.sub $(top_srcdir)/../../install-sh \
88
+ $(top_srcdir)/../../ltmain.sh $(top_srcdir)/../../missing
89
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
90
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
91
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
92
+ $(ACLOCAL_M4)
93
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
94
+ configure.lineno config.status.lineno
95
+ mkinstalldirs = $(install_sh) -d
96
+ CONFIG_CLEAN_FILES = portaudiocpp.pc
97
+ CONFIG_CLEAN_VPATH_FILES =
98
+ AM_V_P = $(am__v_P_@AM_V@)
99
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
100
+ am__v_P_0 = false
101
+ am__v_P_1 = :
102
+ AM_V_GEN = $(am__v_GEN_@AM_V@)
103
+ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
104
+ am__v_GEN_0 = @echo " GEN " $@;
105
+ am__v_GEN_1 =
106
+ AM_V_at = $(am__v_at_@AM_V@)
107
+ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
108
+ am__v_at_0 = @
109
+ am__v_at_1 =
110
+ SOURCES =
111
+ DIST_SOURCES =
112
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
113
+ ctags-recursive dvi-recursive html-recursive info-recursive \
114
+ install-data-recursive install-dvi-recursive \
115
+ install-exec-recursive install-html-recursive \
116
+ install-info-recursive install-pdf-recursive \
117
+ install-ps-recursive install-recursive installcheck-recursive \
118
+ installdirs-recursive pdf-recursive ps-recursive \
119
+ tags-recursive uninstall-recursive
120
+ am__can_run_installinfo = \
121
+ case $$AM_UPDATE_INFO_DIR in \
122
+ n|no|NO) false;; \
123
+ *) (install-info --version) >/dev/null 2>&1;; \
124
+ esac
125
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
126
+ am__vpath_adj = case $$p in \
127
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
128
+ *) f=$$p;; \
129
+ esac;
130
+ am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
131
+ am__install_max = 40
132
+ am__nobase_strip_setup = \
133
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
134
+ am__nobase_strip = \
135
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
136
+ am__nobase_list = $(am__nobase_strip_setup); \
137
+ for p in $$list; do echo "$$p $$p"; done | \
138
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
139
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
140
+ if (++n[$$2] == $(am__install_max)) \
141
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
142
+ END { for (dir in files) print dir, files[dir] }'
143
+ am__base_list = \
144
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
145
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
146
+ am__uninstall_files_from_dir = { \
147
+ test -z "$$files" \
148
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
149
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
150
+ $(am__cd) "$$dir" && rm -f $$files; }; \
151
+ }
152
+ am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
153
+ DATA = $(pkgconfig_DATA)
154
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
155
+ distclean-recursive maintainer-clean-recursive
156
+ am__recursive_targets = \
157
+ $(RECURSIVE_TARGETS) \
158
+ $(RECURSIVE_CLEAN_TARGETS) \
159
+ $(am__extra_recursive_targets)
160
+ AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
161
+ cscope distdir dist dist-all distcheck
162
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
163
+ # Read a list of newline-separated strings from the standard input,
164
+ # and print each of them once, without duplicates. Input order is
165
+ # *not* preserved.
166
+ am__uniquify_input = $(AWK) '\
167
+ BEGIN { nonempty = 0; } \
168
+ { items[$$0] = 1; nonempty = 1; } \
169
+ END { if (nonempty) { for (i in items) print i; }; } \
170
+ '
171
+ # Make sure the list of sources is unique. This is necessary because,
172
+ # e.g., the same source file might be shared among _SOURCES variables
173
+ # for different programs/libraries.
174
+ am__define_uniq_tagged_files = \
175
+ list='$(am__tagged_files)'; \
176
+ unique=`for i in $$list; do \
177
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
178
+ done | $(am__uniquify_input)`
179
+ ETAGS = etags
180
+ CTAGS = ctags
181
+ CSCOPE = cscope
182
+ DIST_SUBDIRS = $(SUBDIRS)
183
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
184
+ distdir = $(PACKAGE)-$(VERSION)
185
+ top_distdir = $(distdir)
186
+ am__remove_distdir = \
187
+ if test -d "$(distdir)"; then \
188
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
189
+ && rm -rf "$(distdir)" \
190
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
191
+ else :; fi
192
+ am__post_remove_distdir = $(am__remove_distdir)
193
+ am__relativize = \
194
+ dir0=`pwd`; \
195
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
196
+ sed_rest='s,^[^/]*/*,,'; \
197
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
198
+ sed_butlast='s,/*[^/]*$$,,'; \
199
+ while test -n "$$dir1"; do \
200
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
201
+ if test "$$first" != "."; then \
202
+ if test "$$first" = ".."; then \
203
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
204
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
205
+ else \
206
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
207
+ if test "$$first2" = "$$first"; then \
208
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
209
+ else \
210
+ dir2="../$$dir2"; \
211
+ fi; \
212
+ dir0="$$dir0"/"$$first"; \
213
+ fi; \
214
+ fi; \
215
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
216
+ done; \
217
+ reldir="$$dir2"
218
+ DIST_ARCHIVES = $(distdir).tar.gz
219
+ GZIP_ENV = --best
220
+ DIST_TARGETS = dist-gzip
221
+ distuninstallcheck_listfiles = find . -type f -print
222
+ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
223
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
224
+ distcleancheck_listfiles = find . -type f -print
225
+ ACLOCAL = @ACLOCAL@
226
+ AMTAR = @AMTAR@
227
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
228
+ AR = @AR@
229
+ AS = @AS@
230
+ AUTOCONF = @AUTOCONF@
231
+ AUTOHEADER = @AUTOHEADER@
232
+ AUTOMAKE = @AUTOMAKE@
233
+ AWK = @AWK@
234
+ CC = @CC@
235
+ CCDEPMODE = @CCDEPMODE@
236
+ CFLAGS = @CFLAGS@
237
+ CPP = @CPP@
238
+ CPPFLAGS = @CPPFLAGS@
239
+ CXX = @CXX@
240
+ CXXCPP = @CXXCPP@
241
+ CXXDEPMODE = @CXXDEPMODE@
242
+ CXXFLAGS = @CXXFLAGS@
243
+ CYGPATH_W = @CYGPATH_W@
244
+ DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
245
+ DEFS = @DEFS@
246
+ DEPDIR = @DEPDIR@
247
+ DLLTOOL = @DLLTOOL@
248
+ DSYMUTIL = @DSYMUTIL@
249
+ DUMPBIN = @DUMPBIN@
250
+ ECHO_C = @ECHO_C@
251
+ ECHO_N = @ECHO_N@
252
+ ECHO_T = @ECHO_T@
253
+ EGREP = @EGREP@
254
+ EXEEXT = @EXEEXT@
255
+ FGREP = @FGREP@
256
+ GREP = @GREP@
257
+ INSTALL = @INSTALL@
258
+ INSTALL_DATA = @INSTALL_DATA@
259
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
260
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
261
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
262
+ LD = @LD@
263
+ LDFLAGS = @LDFLAGS@
264
+ LIBOBJS = @LIBOBJS@
265
+ LIBS = @LIBS@
266
+ LIBTOOL = @LIBTOOL@
267
+ LIPO = @LIPO@
268
+ LN_S = @LN_S@
269
+ LTLIBOBJS = @LTLIBOBJS@
270
+ LT_VERSION_INFO = @LT_VERSION_INFO@
271
+ MAINT = @MAINT@
272
+ MAKEINFO = @MAKEINFO@
273
+ MANIFEST_TOOL = @MANIFEST_TOOL@
274
+ MKDIR_P = @MKDIR_P@
275
+ NM = @NM@
276
+ NMEDIT = @NMEDIT@
277
+ OBJDUMP = @OBJDUMP@
278
+ OBJEXT = @OBJEXT@
279
+ OTOOL = @OTOOL@
280
+ OTOOL64 = @OTOOL64@
281
+ PACKAGE = @PACKAGE@
282
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
283
+ PACKAGE_NAME = @PACKAGE_NAME@
284
+ PACKAGE_STRING = @PACKAGE_STRING@
285
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
286
+ PACKAGE_URL = @PACKAGE_URL@
287
+ PACKAGE_VERSION = @PACKAGE_VERSION@
288
+ PATH_SEPARATOR = @PATH_SEPARATOR@
289
+ PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
290
+ RANLIB = @RANLIB@
291
+ SED = @SED@
292
+ SET_MAKE = @SET_MAKE@
293
+ SHELL = @SHELL@
294
+ STRIP = @STRIP@
295
+ VERSION = @VERSION@
296
+ abs_builddir = @abs_builddir@
297
+ abs_srcdir = @abs_srcdir@
298
+ abs_top_builddir = @abs_top_builddir@
299
+ abs_top_srcdir = @abs_top_srcdir@
300
+ ac_ct_AR = @ac_ct_AR@
301
+ ac_ct_CC = @ac_ct_CC@
302
+ ac_ct_CXX = @ac_ct_CXX@
303
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
304
+ am__include = @am__include@
305
+ am__leading_dot = @am__leading_dot@
306
+ am__quote = @am__quote@
307
+ am__tar = @am__tar@
308
+ am__untar = @am__untar@
309
+ bindir = @bindir@
310
+ build = @build@
311
+ build_alias = @build_alias@
312
+ build_cpu = @build_cpu@
313
+ build_os = @build_os@
314
+ build_vendor = @build_vendor@
315
+ builddir = @builddir@
316
+ datadir = @datadir@
317
+ datarootdir = @datarootdir@
318
+ docdir = @docdir@
319
+ dvidir = @dvidir@
320
+ exec_prefix = @exec_prefix@
321
+ host = @host@
322
+ host_alias = @host_alias@
323
+ host_cpu = @host_cpu@
324
+ host_os = @host_os@
325
+ host_vendor = @host_vendor@
326
+ htmldir = @htmldir@
327
+ includedir = @includedir@
328
+ infodir = @infodir@
329
+ install_sh = @install_sh@
330
+ libdir = @libdir@
331
+ libexecdir = @libexecdir@
332
+ localedir = @localedir@
333
+ localstatedir = @localstatedir@
334
+ mandir = @mandir@
335
+ mkdir_p = @mkdir_p@
336
+ oldincludedir = @oldincludedir@
337
+ pdfdir = @pdfdir@
338
+ prefix = @prefix@
339
+ program_transform_name = @program_transform_name@
340
+ psdir = @psdir@
341
+ sbindir = @sbindir@
342
+ sharedstatedir = @sharedstatedir@
343
+ srcdir = @srcdir@
344
+ sysconfdir = @sysconfdir@
345
+ target_alias = @target_alias@
346
+ top_build_prefix = @top_build_prefix@
347
+ top_builddir = @top_builddir@
348
+ top_srcdir = @top_srcdir@
349
+ SUBDIRS = lib include bin
350
+ #doc
351
+ EXTRA_DIST = portaudiocpp.pc
352
+ pkgconfigdir = $(libdir)/pkgconfig
353
+ pkgconfig_DATA = portaudiocpp.pc
354
+ all: all-recursive
355
+
356
+ .SUFFIXES:
357
+ am--refresh: Makefile
358
+ @:
359
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
360
+ @for dep in $?; do \
361
+ case '$(am__configure_deps)' in \
362
+ *$$dep*) \
363
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
364
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
365
+ && exit 0; \
366
+ exit 1;; \
367
+ esac; \
368
+ done; \
369
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
370
+ $(am__cd) $(top_srcdir) && \
371
+ $(AUTOMAKE) --gnu Makefile
372
+ .PRECIOUS: Makefile
373
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
374
+ @case '$?' in \
375
+ *config.status*) \
376
+ echo ' $(SHELL) ./config.status'; \
377
+ $(SHELL) ./config.status;; \
378
+ *) \
379
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
380
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
381
+ esac;
382
+
383
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
384
+ $(SHELL) ./config.status --recheck
385
+
386
+ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
387
+ $(am__cd) $(srcdir) && $(AUTOCONF)
388
+ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
389
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
390
+ $(am__aclocal_m4_deps):
391
+ portaudiocpp.pc: $(top_builddir)/config.status $(srcdir)/portaudiocpp.pc.in
392
+ cd $(top_builddir) && $(SHELL) ./config.status $@
393
+
394
+ mostlyclean-libtool:
395
+ -rm -f *.lo
396
+
397
+ clean-libtool:
398
+ -rm -rf .libs _libs
399
+
400
+ distclean-libtool:
401
+ -rm -f libtool config.lt
402
+ install-pkgconfigDATA: $(pkgconfig_DATA)
403
+ @$(NORMAL_INSTALL)
404
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
405
+ if test -n "$$list"; then \
406
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
407
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
408
+ fi; \
409
+ for p in $$list; do \
410
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
411
+ echo "$$d$$p"; \
412
+ done | $(am__base_list) | \
413
+ while read files; do \
414
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
415
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
416
+ done
417
+
418
+ uninstall-pkgconfigDATA:
419
+ @$(NORMAL_UNINSTALL)
420
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
421
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
422
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
423
+
424
+ # This directory's subdirectories are mostly independent; you can cd
425
+ # into them and run 'make' without going through this Makefile.
426
+ # To change the values of 'make' variables: instead of editing Makefiles,
427
+ # (1) if the variable is set in 'config.status', edit 'config.status'
428
+ # (which will cause the Makefiles to be regenerated when you run 'make');
429
+ # (2) otherwise, pass the desired values on the 'make' command line.
430
+ $(am__recursive_targets):
431
+ @fail=; \
432
+ if $(am__make_keepgoing); then \
433
+ failcom='fail=yes'; \
434
+ else \
435
+ failcom='exit 1'; \
436
+ fi; \
437
+ dot_seen=no; \
438
+ target=`echo $@ | sed s/-recursive//`; \
439
+ case "$@" in \
440
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
441
+ *) list='$(SUBDIRS)' ;; \
442
+ esac; \
443
+ for subdir in $$list; do \
444
+ echo "Making $$target in $$subdir"; \
445
+ if test "$$subdir" = "."; then \
446
+ dot_seen=yes; \
447
+ local_target="$$target-am"; \
448
+ else \
449
+ local_target="$$target"; \
450
+ fi; \
451
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
452
+ || eval $$failcom; \
453
+ done; \
454
+ if test "$$dot_seen" = "no"; then \
455
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
456
+ fi; test -z "$$fail"
457
+
458
+ ID: $(am__tagged_files)
459
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
460
+ tags: tags-recursive
461
+ TAGS: tags
462
+
463
+ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
464
+ set x; \
465
+ here=`pwd`; \
466
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
467
+ include_option=--etags-include; \
468
+ empty_fix=.; \
469
+ else \
470
+ include_option=--include; \
471
+ empty_fix=; \
472
+ fi; \
473
+ list='$(SUBDIRS)'; for subdir in $$list; do \
474
+ if test "$$subdir" = .; then :; else \
475
+ test ! -f $$subdir/TAGS || \
476
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
477
+ fi; \
478
+ done; \
479
+ $(am__define_uniq_tagged_files); \
480
+ shift; \
481
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
482
+ test -n "$$unique" || unique=$$empty_fix; \
483
+ if test $$# -gt 0; then \
484
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
485
+ "$$@" $$unique; \
486
+ else \
487
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
488
+ $$unique; \
489
+ fi; \
490
+ fi
491
+ ctags: ctags-recursive
492
+
493
+ CTAGS: ctags
494
+ ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
495
+ $(am__define_uniq_tagged_files); \
496
+ test -z "$(CTAGS_ARGS)$$unique" \
497
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
498
+ $$unique
499
+
500
+ GTAGS:
501
+ here=`$(am__cd) $(top_builddir) && pwd` \
502
+ && $(am__cd) $(top_srcdir) \
503
+ && gtags -i $(GTAGS_ARGS) "$$here"
504
+ cscope: cscope.files
505
+ test ! -s cscope.files \
506
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
507
+ clean-cscope:
508
+ -rm -f cscope.files
509
+ cscope.files: clean-cscope cscopelist
510
+ cscopelist: cscopelist-recursive
511
+
512
+ cscopelist-am: $(am__tagged_files)
513
+ list='$(am__tagged_files)'; \
514
+ case "$(srcdir)" in \
515
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
516
+ *) sdir=$(subdir)/$(srcdir) ;; \
517
+ esac; \
518
+ for i in $$list; do \
519
+ if test -f "$$i"; then \
520
+ echo "$(subdir)/$$i"; \
521
+ else \
522
+ echo "$$sdir/$$i"; \
523
+ fi; \
524
+ done >> $(top_builddir)/cscope.files
525
+
526
+ distclean-tags:
527
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
528
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
529
+
530
+ distdir: $(DISTFILES)
531
+ $(am__remove_distdir)
532
+ test -d "$(distdir)" || mkdir "$(distdir)"
533
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
534
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
535
+ list='$(DISTFILES)'; \
536
+ dist_files=`for file in $$list; do echo $$file; done | \
537
+ sed -e "s|^$$srcdirstrip/||;t" \
538
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
539
+ case $$dist_files in \
540
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
541
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
542
+ sort -u` ;; \
543
+ esac; \
544
+ for file in $$dist_files; do \
545
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
546
+ if test -d $$d/$$file; then \
547
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
548
+ if test -d "$(distdir)/$$file"; then \
549
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
550
+ fi; \
551
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
552
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
553
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
554
+ fi; \
555
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
556
+ else \
557
+ test -f "$(distdir)/$$file" \
558
+ || cp -p $$d/$$file "$(distdir)/$$file" \
559
+ || exit 1; \
560
+ fi; \
561
+ done
562
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
563
+ if test "$$subdir" = .; then :; else \
564
+ $(am__make_dryrun) \
565
+ || test -d "$(distdir)/$$subdir" \
566
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
567
+ || exit 1; \
568
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
569
+ $(am__relativize); \
570
+ new_distdir=$$reldir; \
571
+ dir1=$$subdir; dir2="$(top_distdir)"; \
572
+ $(am__relativize); \
573
+ new_top_distdir=$$reldir; \
574
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
575
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
576
+ ($(am__cd) $$subdir && \
577
+ $(MAKE) $(AM_MAKEFLAGS) \
578
+ top_distdir="$$new_top_distdir" \
579
+ distdir="$$new_distdir" \
580
+ am__remove_distdir=: \
581
+ am__skip_length_check=: \
582
+ am__skip_mode_fix=: \
583
+ distdir) \
584
+ || exit 1; \
585
+ fi; \
586
+ done
587
+ -test -n "$(am__skip_mode_fix)" \
588
+ || find "$(distdir)" -type d ! -perm -755 \
589
+ -exec chmod u+rwx,go+rx {} \; -o \
590
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
591
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
592
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
593
+ || chmod -R a+r "$(distdir)"
594
+ dist-gzip: distdir
595
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
596
+ $(am__post_remove_distdir)
597
+
598
+ dist-bzip2: distdir
599
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
600
+ $(am__post_remove_distdir)
601
+
602
+ dist-lzip: distdir
603
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
604
+ $(am__post_remove_distdir)
605
+
606
+ dist-xz: distdir
607
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
608
+ $(am__post_remove_distdir)
609
+
610
+ dist-tarZ: distdir
611
+ @echo WARNING: "Support for shar distribution archives is" \
612
+ "deprecated." >&2
613
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
614
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
615
+ $(am__post_remove_distdir)
616
+
617
+ dist-shar: distdir
618
+ @echo WARNING: "Support for distribution archives compressed with" \
619
+ "legacy program 'compress' is deprecated." >&2
620
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
621
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
622
+ $(am__post_remove_distdir)
623
+
624
+ dist-zip: distdir
625
+ -rm -f $(distdir).zip
626
+ zip -rq $(distdir).zip $(distdir)
627
+ $(am__post_remove_distdir)
628
+
629
+ dist dist-all:
630
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
631
+ $(am__post_remove_distdir)
632
+
633
+ # This target untars the dist file and tries a VPATH configuration. Then
634
+ # it guarantees that the distribution is self-contained by making another
635
+ # tarfile.
636
+ distcheck: dist
637
+ case '$(DIST_ARCHIVES)' in \
638
+ *.tar.gz*) \
639
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
640
+ *.tar.bz2*) \
641
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
642
+ *.tar.lz*) \
643
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
644
+ *.tar.xz*) \
645
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
646
+ *.tar.Z*) \
647
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
648
+ *.shar.gz*) \
649
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
650
+ *.zip*) \
651
+ unzip $(distdir).zip ;;\
652
+ esac
653
+ chmod -R a-w $(distdir)
654
+ chmod u+w $(distdir)
655
+ mkdir $(distdir)/_build $(distdir)/_inst
656
+ chmod a-w $(distdir)
657
+ test -d $(distdir)/_build || exit 0; \
658
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
659
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
660
+ && am__cwd=`pwd` \
661
+ && $(am__cd) $(distdir)/_build \
662
+ && ../configure \
663
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
664
+ $(DISTCHECK_CONFIGURE_FLAGS) \
665
+ --srcdir=.. --prefix="$$dc_install_base" \
666
+ && $(MAKE) $(AM_MAKEFLAGS) \
667
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
668
+ && $(MAKE) $(AM_MAKEFLAGS) check \
669
+ && $(MAKE) $(AM_MAKEFLAGS) install \
670
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
671
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
672
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
673
+ distuninstallcheck \
674
+ && chmod -R a-w "$$dc_install_base" \
675
+ && ({ \
676
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
677
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
678
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
679
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
680
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
681
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
682
+ && rm -rf "$$dc_destdir" \
683
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
684
+ && rm -rf $(DIST_ARCHIVES) \
685
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
686
+ && cd "$$am__cwd" \
687
+ || exit 1
688
+ $(am__post_remove_distdir)
689
+ @(echo "$(distdir) archives ready for distribution: "; \
690
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
691
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
692
+ distuninstallcheck:
693
+ @test -n '$(distuninstallcheck_dir)' || { \
694
+ echo 'ERROR: trying to run $@ with an empty' \
695
+ '$$(distuninstallcheck_dir)' >&2; \
696
+ exit 1; \
697
+ }; \
698
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
699
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
700
+ exit 1; \
701
+ }; \
702
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
703
+ || { echo "ERROR: files left after uninstall:" ; \
704
+ if test -n "$(DESTDIR)"; then \
705
+ echo " (check DESTDIR support)"; \
706
+ fi ; \
707
+ $(distuninstallcheck_listfiles) ; \
708
+ exit 1; } >&2
709
+ distcleancheck: distclean
710
+ @if test '$(srcdir)' = . ; then \
711
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
712
+ exit 1 ; \
713
+ fi
714
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
715
+ || { echo "ERROR: files left in build directory after distclean:" ; \
716
+ $(distcleancheck_listfiles) ; \
717
+ exit 1; } >&2
718
+ check-am: all-am
719
+ check: check-recursive
720
+ all-am: Makefile $(DATA)
721
+ installdirs: installdirs-recursive
722
+ installdirs-am:
723
+ for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
724
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
725
+ done
726
+ install: install-recursive
727
+ install-exec: install-exec-recursive
728
+ install-data: install-data-recursive
729
+ uninstall: uninstall-recursive
730
+
731
+ install-am: all-am
732
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
733
+
734
+ installcheck: installcheck-recursive
735
+ install-strip:
736
+ if test -z '$(STRIP)'; then \
737
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
738
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
739
+ install; \
740
+ else \
741
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
742
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
743
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
744
+ fi
745
+ mostlyclean-generic:
746
+
747
+ clean-generic:
748
+
749
+ distclean-generic:
750
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
751
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
752
+
753
+ maintainer-clean-generic:
754
+ @echo "This command is intended for maintainers to use"
755
+ @echo "it deletes files that may require special tools to rebuild."
756
+ clean: clean-recursive
757
+
758
+ clean-am: clean-generic clean-libtool mostlyclean-am
759
+
760
+ distclean: distclean-recursive
761
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
762
+ -rm -f Makefile
763
+ distclean-am: clean-am distclean-generic distclean-libtool \
764
+ distclean-tags
765
+
766
+ dvi: dvi-recursive
767
+
768
+ dvi-am:
769
+
770
+ html: html-recursive
771
+
772
+ html-am:
773
+
774
+ info: info-recursive
775
+
776
+ info-am:
777
+
778
+ install-data-am: install-pkgconfigDATA
779
+
780
+ install-dvi: install-dvi-recursive
781
+
782
+ install-dvi-am:
783
+
784
+ install-exec-am:
785
+
786
+ install-html: install-html-recursive
787
+
788
+ install-html-am:
789
+
790
+ install-info: install-info-recursive
791
+
792
+ install-info-am:
793
+
794
+ install-man:
795
+
796
+ install-pdf: install-pdf-recursive
797
+
798
+ install-pdf-am:
799
+
800
+ install-ps: install-ps-recursive
801
+
802
+ install-ps-am:
803
+
804
+ installcheck-am:
805
+
806
+ maintainer-clean: maintainer-clean-recursive
807
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
808
+ -rm -rf $(top_srcdir)/autom4te.cache
809
+ -rm -f Makefile
810
+ maintainer-clean-am: distclean-am maintainer-clean-generic
811
+
812
+ mostlyclean: mostlyclean-recursive
813
+
814
+ mostlyclean-am: mostlyclean-generic mostlyclean-libtool
815
+
816
+ pdf: pdf-recursive
817
+
818
+ pdf-am:
819
+
820
+ ps: ps-recursive
821
+
822
+ ps-am:
823
+
824
+ uninstall-am: uninstall-pkgconfigDATA
825
+
826
+ .MAKE: $(am__recursive_targets) install-am install-strip
827
+
828
+ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
829
+ am--refresh check check-am clean clean-cscope clean-generic \
830
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
831
+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
832
+ dist-xz dist-zip distcheck distclean distclean-generic \
833
+ distclean-libtool distclean-tags distcleancheck distdir \
834
+ distuninstallcheck dvi dvi-am html html-am info info-am \
835
+ install install-am install-data install-data-am install-dvi \
836
+ install-dvi-am install-exec install-exec-am install-html \
837
+ install-html-am install-info install-info-am install-man \
838
+ install-pdf install-pdf-am install-pkgconfigDATA install-ps \
839
+ install-ps-am install-strip installcheck installcheck-am \
840
+ installdirs installdirs-am maintainer-clean \
841
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
842
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
843
+ uninstall-am uninstall-pkgconfigDATA
844
+
845
+
846
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
847
+ # Otherwise a system limit (for SysV at least) may be exceeded.
848
+ .NOEXPORT:
portaudio/bindings/cpp/NEWS ADDED
File without changes
portaudio/bindings/cpp/README ADDED
File without changes
portaudio/bindings/cpp/SConscript ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os.path
2
+
3
+ Import("env", "buildDir")
4
+ env.Append(CPPPATH="include")
5
+
6
+ ApiVer = "0.0.12"
7
+ Major, Minor, Micro = [int(c) for c in ApiVer.split(".")]
8
+
9
+ sharedLibs = []
10
+ staticLibs = []
11
+ Import("Platform", "Posix")
12
+ if Platform in Posix:
13
+ env["SHLIBSUFFIX"] = ".so.%d.%d.%d" % (Major, Minor, Micro)
14
+ soFile = "libportaudiocpp.so"
15
+ if Platform != 'darwin':
16
+ env.AppendUnique(SHLINKFLAGS="-Wl,-soname=%s.%d" % (soFile, Major))
17
+
18
+ # Create symlinks
19
+ def symlink(env, target, source):
20
+ trgt = str(target[0])
21
+ src = str(source[0])
22
+ if os.path.islink(trgt) or os.path.exists(trgt):
23
+ os.remove(trgt)
24
+ os.symlink(os.path.basename(src), trgt)
25
+ lnk0 = env.Command(soFile + ".%d" % (Major), soFile + ".%d.%d.%d" % (Major, Minor, Micro), symlink)
26
+ lnk1 = env.Command(soFile, soFile + ".%d" % (Major), symlink)
27
+ sharedLibs.append(lnk0)
28
+ sharedLibs.append(lnk1)
29
+
30
+ src = [os.path.join("source", "portaudiocpp", "%s.cxx" % f) for f in ("BlockingStream", "CallbackInterface", \
31
+ "CallbackStream", "CFunCallbackStream","CppFunCallbackStream", "Device",
32
+ "DirectionSpecificStreamParameters", "Exception", "HostApi", "InterfaceCallbackStream",
33
+ "MemFunCallbackStream", "Stream", "StreamParameters", "System", "SystemDeviceIterator",
34
+ "SystemHostApiIterator")]
35
+ env.Append(LIBS="portaudio", LIBPATH=buildDir)
36
+ sharedLib = env.SharedLibrary("portaudiocpp", src, LIBS=["portaudio"])
37
+ staticLib = env.Library("portaudiocpp", src, LIBS=["portaudio"])
38
+ sharedLibs.append(sharedLib)
39
+ staticLibs.append(staticLib)
40
+
41
+ headers = Split("""AutoSystem.hxx
42
+ BlockingStream.hxx
43
+ CallbackInterface.hxx
44
+ CallbackStream.hxx
45
+ CFunCallbackStream.hxx
46
+ CppFunCallbackStream.hxx
47
+ Device.hxx
48
+ DirectionSpecificStreamParameters.hxx
49
+ Exception.hxx
50
+ HostApi.hxx
51
+ InterfaceCallbackStream.hxx
52
+ MemFunCallbackStream.hxx
53
+ PortAudioCpp.hxx
54
+ SampleDataFormat.hxx
55
+ Stream.hxx
56
+ StreamParameters.hxx
57
+ SystemDeviceIterator.hxx
58
+ SystemHostApiIterator.hxx
59
+ System.hxx
60
+ """)
61
+ if env["PLATFORM"] == "win32":
62
+ headers.append("AsioDeviceAdapter.hxx")
63
+ headers = [File(os.path.join("include", "portaudiocpp", h)) for h in headers]
64
+
65
+ Return("sharedLibs", "staticLibs", "headers")
portaudio/bindings/cpp/aclocal.m4 ADDED
The diff for this file is too large to render. See raw diff
 
portaudio/bindings/cpp/bin/Makefile.am ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ BINDIR = $(top_srcdir)/example
2
+ LIBDIR = $(top_builddir)/lib
3
+
4
+ noinst_PROGRAMS = devs sine
5
+
6
+ LDADD = $(LIBDIR)/libportaudiocpp.la $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
7
+
8
+ devs_SOURCES = $(BINDIR)/devs.cxx
9
+ sine_SOURCES = $(BINDIR)/sine.cxx
portaudio/bindings/cpp/bin/Makefile.in ADDED
@@ -0,0 +1,618 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Makefile.in generated by automake 1.14.1 from Makefile.am.
2
+ # @configure_input@
3
+
4
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
5
+
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+ @SET_MAKE@
16
+
17
+ VPATH = @srcdir@
18
+ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
19
+ am__make_running_with_option = \
20
+ case $${target_option-} in \
21
+ ?) ;; \
22
+ *) echo "am__make_running_with_option: internal error: invalid" \
23
+ "target option '$${target_option-}' specified" >&2; \
24
+ exit 1;; \
25
+ esac; \
26
+ has_opt=no; \
27
+ sane_makeflags=$$MAKEFLAGS; \
28
+ if $(am__is_gnu_make); then \
29
+ sane_makeflags=$$MFLAGS; \
30
+ else \
31
+ case $$MAKEFLAGS in \
32
+ *\\[\ \ ]*) \
33
+ bs=\\; \
34
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
35
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
36
+ esac; \
37
+ fi; \
38
+ skip_next=no; \
39
+ strip_trailopt () \
40
+ { \
41
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
42
+ }; \
43
+ for flg in $$sane_makeflags; do \
44
+ test $$skip_next = yes && { skip_next=no; continue; }; \
45
+ case $$flg in \
46
+ *=*|--*) continue;; \
47
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
48
+ -*I?*) strip_trailopt 'I';; \
49
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
50
+ -*O?*) strip_trailopt 'O';; \
51
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
52
+ -*l?*) strip_trailopt 'l';; \
53
+ -[dEDm]) skip_next=yes;; \
54
+ -[JT]) skip_next=yes;; \
55
+ esac; \
56
+ case $$flg in \
57
+ *$$target_option*) has_opt=yes; break;; \
58
+ esac; \
59
+ done; \
60
+ test $$has_opt = yes
61
+ am__make_dryrun = (target_option=n; $(am__make_running_with_option))
62
+ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
63
+ pkgdatadir = $(datadir)/@PACKAGE@
64
+ pkgincludedir = $(includedir)/@PACKAGE@
65
+ pkglibdir = $(libdir)/@PACKAGE@
66
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
67
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
68
+ install_sh_DATA = $(install_sh) -c -m 644
69
+ install_sh_PROGRAM = $(install_sh) -c
70
+ install_sh_SCRIPT = $(install_sh) -c
71
+ INSTALL_HEADER = $(INSTALL_DATA)
72
+ transform = $(program_transform_name)
73
+ NORMAL_INSTALL = :
74
+ PRE_INSTALL = :
75
+ POST_INSTALL = :
76
+ NORMAL_UNINSTALL = :
77
+ PRE_UNINSTALL = :
78
+ POST_UNINSTALL = :
79
+ build_triplet = @build@
80
+ host_triplet = @host@
81
+ noinst_PROGRAMS = devs$(EXEEXT) sine$(EXEEXT)
82
+ subdir = bin
83
+ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
84
+ $(top_srcdir)/../../depcomp
85
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
86
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
87
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
88
+ $(ACLOCAL_M4)
89
+ mkinstalldirs = $(install_sh) -d
90
+ CONFIG_CLEAN_FILES =
91
+ CONFIG_CLEAN_VPATH_FILES =
92
+ PROGRAMS = $(noinst_PROGRAMS)
93
+ am_devs_OBJECTS = devs.$(OBJEXT)
94
+ devs_OBJECTS = $(am_devs_OBJECTS)
95
+ devs_LDADD = $(LDADD)
96
+ devs_DEPENDENCIES = $(LIBDIR)/libportaudiocpp.la \
97
+ $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
98
+ AM_V_lt = $(am__v_lt_@AM_V@)
99
+ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
100
+ am__v_lt_0 = --silent
101
+ am__v_lt_1 =
102
+ am_sine_OBJECTS = sine.$(OBJEXT)
103
+ sine_OBJECTS = $(am_sine_OBJECTS)
104
+ sine_LDADD = $(LDADD)
105
+ sine_DEPENDENCIES = $(LIBDIR)/libportaudiocpp.la \
106
+ $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
107
+ AM_V_P = $(am__v_P_@AM_V@)
108
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
109
+ am__v_P_0 = false
110
+ am__v_P_1 = :
111
+ AM_V_GEN = $(am__v_GEN_@AM_V@)
112
+ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
113
+ am__v_GEN_0 = @echo " GEN " $@;
114
+ am__v_GEN_1 =
115
+ AM_V_at = $(am__v_at_@AM_V@)
116
+ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
117
+ am__v_at_0 = @
118
+ am__v_at_1 =
119
+ depcomp = $(SHELL) $(top_srcdir)/../../depcomp
120
+ am__depfiles_maybe = depfiles
121
+ am__mv = mv -f
122
+ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
123
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
124
+ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
125
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
126
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
127
+ $(AM_CXXFLAGS) $(CXXFLAGS)
128
+ AM_V_CXX = $(am__v_CXX_@AM_V@)
129
+ am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
130
+ am__v_CXX_0 = @echo " CXX " $@;
131
+ am__v_CXX_1 =
132
+ CXXLD = $(CXX)
133
+ CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
134
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
135
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
136
+ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
137
+ am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
138
+ am__v_CXXLD_0 = @echo " CXXLD " $@;
139
+ am__v_CXXLD_1 =
140
+ SOURCES = $(devs_SOURCES) $(sine_SOURCES)
141
+ DIST_SOURCES = $(devs_SOURCES) $(sine_SOURCES)
142
+ am__can_run_installinfo = \
143
+ case $$AM_UPDATE_INFO_DIR in \
144
+ n|no|NO) false;; \
145
+ *) (install-info --version) >/dev/null 2>&1;; \
146
+ esac
147
+ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
148
+ # Read a list of newline-separated strings from the standard input,
149
+ # and print each of them once, without duplicates. Input order is
150
+ # *not* preserved.
151
+ am__uniquify_input = $(AWK) '\
152
+ BEGIN { nonempty = 0; } \
153
+ { items[$$0] = 1; nonempty = 1; } \
154
+ END { if (nonempty) { for (i in items) print i; }; } \
155
+ '
156
+ # Make sure the list of sources is unique. This is necessary because,
157
+ # e.g., the same source file might be shared among _SOURCES variables
158
+ # for different programs/libraries.
159
+ am__define_uniq_tagged_files = \
160
+ list='$(am__tagged_files)'; \
161
+ unique=`for i in $$list; do \
162
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
163
+ done | $(am__uniquify_input)`
164
+ ETAGS = etags
165
+ CTAGS = ctags
166
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
167
+ ACLOCAL = @ACLOCAL@
168
+ AMTAR = @AMTAR@
169
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
170
+ AR = @AR@
171
+ AS = @AS@
172
+ AUTOCONF = @AUTOCONF@
173
+ AUTOHEADER = @AUTOHEADER@
174
+ AUTOMAKE = @AUTOMAKE@
175
+ AWK = @AWK@
176
+ CC = @CC@
177
+ CCDEPMODE = @CCDEPMODE@
178
+ CFLAGS = @CFLAGS@
179
+ CPP = @CPP@
180
+ CPPFLAGS = @CPPFLAGS@
181
+ CXX = @CXX@
182
+ CXXCPP = @CXXCPP@
183
+ CXXDEPMODE = @CXXDEPMODE@
184
+ CXXFLAGS = @CXXFLAGS@
185
+ CYGPATH_W = @CYGPATH_W@
186
+ DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
187
+ DEFS = @DEFS@
188
+ DEPDIR = @DEPDIR@
189
+ DLLTOOL = @DLLTOOL@
190
+ DSYMUTIL = @DSYMUTIL@
191
+ DUMPBIN = @DUMPBIN@
192
+ ECHO_C = @ECHO_C@
193
+ ECHO_N = @ECHO_N@
194
+ ECHO_T = @ECHO_T@
195
+ EGREP = @EGREP@
196
+ EXEEXT = @EXEEXT@
197
+ FGREP = @FGREP@
198
+ GREP = @GREP@
199
+ INSTALL = @INSTALL@
200
+ INSTALL_DATA = @INSTALL_DATA@
201
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
202
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
203
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
204
+ LD = @LD@
205
+ LDFLAGS = @LDFLAGS@
206
+ LIBOBJS = @LIBOBJS@
207
+ LIBS = @LIBS@
208
+ LIBTOOL = @LIBTOOL@
209
+ LIPO = @LIPO@
210
+ LN_S = @LN_S@
211
+ LTLIBOBJS = @LTLIBOBJS@
212
+ LT_VERSION_INFO = @LT_VERSION_INFO@
213
+ MAINT = @MAINT@
214
+ MAKEINFO = @MAKEINFO@
215
+ MANIFEST_TOOL = @MANIFEST_TOOL@
216
+ MKDIR_P = @MKDIR_P@
217
+ NM = @NM@
218
+ NMEDIT = @NMEDIT@
219
+ OBJDUMP = @OBJDUMP@
220
+ OBJEXT = @OBJEXT@
221
+ OTOOL = @OTOOL@
222
+ OTOOL64 = @OTOOL64@
223
+ PACKAGE = @PACKAGE@
224
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
225
+ PACKAGE_NAME = @PACKAGE_NAME@
226
+ PACKAGE_STRING = @PACKAGE_STRING@
227
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
228
+ PACKAGE_URL = @PACKAGE_URL@
229
+ PACKAGE_VERSION = @PACKAGE_VERSION@
230
+ PATH_SEPARATOR = @PATH_SEPARATOR@
231
+ PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
232
+ RANLIB = @RANLIB@
233
+ SED = @SED@
234
+ SET_MAKE = @SET_MAKE@
235
+ SHELL = @SHELL@
236
+ STRIP = @STRIP@
237
+ VERSION = @VERSION@
238
+ abs_builddir = @abs_builddir@
239
+ abs_srcdir = @abs_srcdir@
240
+ abs_top_builddir = @abs_top_builddir@
241
+ abs_top_srcdir = @abs_top_srcdir@
242
+ ac_ct_AR = @ac_ct_AR@
243
+ ac_ct_CC = @ac_ct_CC@
244
+ ac_ct_CXX = @ac_ct_CXX@
245
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
246
+ am__include = @am__include@
247
+ am__leading_dot = @am__leading_dot@
248
+ am__quote = @am__quote@
249
+ am__tar = @am__tar@
250
+ am__untar = @am__untar@
251
+ bindir = @bindir@
252
+ build = @build@
253
+ build_alias = @build_alias@
254
+ build_cpu = @build_cpu@
255
+ build_os = @build_os@
256
+ build_vendor = @build_vendor@
257
+ builddir = @builddir@
258
+ datadir = @datadir@
259
+ datarootdir = @datarootdir@
260
+ docdir = @docdir@
261
+ dvidir = @dvidir@
262
+ exec_prefix = @exec_prefix@
263
+ host = @host@
264
+ host_alias = @host_alias@
265
+ host_cpu = @host_cpu@
266
+ host_os = @host_os@
267
+ host_vendor = @host_vendor@
268
+ htmldir = @htmldir@
269
+ includedir = @includedir@
270
+ infodir = @infodir@
271
+ install_sh = @install_sh@
272
+ libdir = @libdir@
273
+ libexecdir = @libexecdir@
274
+ localedir = @localedir@
275
+ localstatedir = @localstatedir@
276
+ mandir = @mandir@
277
+ mkdir_p = @mkdir_p@
278
+ oldincludedir = @oldincludedir@
279
+ pdfdir = @pdfdir@
280
+ prefix = @prefix@
281
+ program_transform_name = @program_transform_name@
282
+ psdir = @psdir@
283
+ sbindir = @sbindir@
284
+ sharedstatedir = @sharedstatedir@
285
+ srcdir = @srcdir@
286
+ sysconfdir = @sysconfdir@
287
+ target_alias = @target_alias@
288
+ top_build_prefix = @top_build_prefix@
289
+ top_builddir = @top_builddir@
290
+ top_srcdir = @top_srcdir@
291
+ BINDIR = $(top_srcdir)/example
292
+ LIBDIR = $(top_builddir)/lib
293
+ LDADD = $(LIBDIR)/libportaudiocpp.la $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
294
+ devs_SOURCES = $(BINDIR)/devs.cxx
295
+ sine_SOURCES = $(BINDIR)/sine.cxx
296
+ all: all-am
297
+
298
+ .SUFFIXES:
299
+ .SUFFIXES: .cxx .lo .o .obj
300
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
301
+ @for dep in $?; do \
302
+ case '$(am__configure_deps)' in \
303
+ *$$dep*) \
304
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
305
+ && { if test -f $@; then exit 0; else break; fi; }; \
306
+ exit 1;; \
307
+ esac; \
308
+ done; \
309
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bin/Makefile'; \
310
+ $(am__cd) $(top_srcdir) && \
311
+ $(AUTOMAKE) --gnu bin/Makefile
312
+ .PRECIOUS: Makefile
313
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
314
+ @case '$?' in \
315
+ *config.status*) \
316
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
317
+ *) \
318
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
319
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
320
+ esac;
321
+
322
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
323
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
324
+
325
+ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
326
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
327
+ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
328
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
329
+ $(am__aclocal_m4_deps):
330
+
331
+ clean-noinstPROGRAMS:
332
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
333
+ echo " rm -f" $$list; \
334
+ rm -f $$list || exit $$?; \
335
+ test -n "$(EXEEXT)" || exit 0; \
336
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
337
+ echo " rm -f" $$list; \
338
+ rm -f $$list
339
+
340
+ devs$(EXEEXT): $(devs_OBJECTS) $(devs_DEPENDENCIES) $(EXTRA_devs_DEPENDENCIES)
341
+ @rm -f devs$(EXEEXT)
342
+ $(AM_V_CXXLD)$(CXXLINK) $(devs_OBJECTS) $(devs_LDADD) $(LIBS)
343
+
344
+ sine$(EXEEXT): $(sine_OBJECTS) $(sine_DEPENDENCIES) $(EXTRA_sine_DEPENDENCIES)
345
+ @rm -f sine$(EXEEXT)
346
+ $(AM_V_CXXLD)$(CXXLINK) $(sine_OBJECTS) $(sine_LDADD) $(LIBS)
347
+
348
+ mostlyclean-compile:
349
+ -rm -f *.$(OBJEXT)
350
+
351
+ distclean-compile:
352
+ -rm -f *.tab.c
353
+
354
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devs.Po@am__quote@
355
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sine.Po@am__quote@
356
+
357
+ .cxx.o:
358
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
359
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
360
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
361
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
362
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
363
+
364
+ .cxx.obj:
365
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
366
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
367
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
368
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
369
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
370
+
371
+ .cxx.lo:
372
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
373
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
374
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
375
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
376
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
377
+
378
+ devs.o: $(BINDIR)/devs.cxx
379
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT devs.o -MD -MP -MF $(DEPDIR)/devs.Tpo -c -o devs.o `test -f '$(BINDIR)/devs.cxx' || echo '$(srcdir)/'`$(BINDIR)/devs.cxx
380
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/devs.Tpo $(DEPDIR)/devs.Po
381
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/devs.cxx' object='devs.o' libtool=no @AMDEPBACKSLASH@
382
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
383
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o devs.o `test -f '$(BINDIR)/devs.cxx' || echo '$(srcdir)/'`$(BINDIR)/devs.cxx
384
+
385
+ devs.obj: $(BINDIR)/devs.cxx
386
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT devs.obj -MD -MP -MF $(DEPDIR)/devs.Tpo -c -o devs.obj `if test -f '$(BINDIR)/devs.cxx'; then $(CYGPATH_W) '$(BINDIR)/devs.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/devs.cxx'; fi`
387
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/devs.Tpo $(DEPDIR)/devs.Po
388
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/devs.cxx' object='devs.obj' libtool=no @AMDEPBACKSLASH@
389
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
390
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o devs.obj `if test -f '$(BINDIR)/devs.cxx'; then $(CYGPATH_W) '$(BINDIR)/devs.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/devs.cxx'; fi`
391
+
392
+ sine.o: $(BINDIR)/sine.cxx
393
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sine.o -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.o `test -f '$(BINDIR)/sine.cxx' || echo '$(srcdir)/'`$(BINDIR)/sine.cxx
394
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
395
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/sine.cxx' object='sine.o' libtool=no @AMDEPBACKSLASH@
396
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
397
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sine.o `test -f '$(BINDIR)/sine.cxx' || echo '$(srcdir)/'`$(BINDIR)/sine.cxx
398
+
399
+ sine.obj: $(BINDIR)/sine.cxx
400
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sine.obj -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.obj `if test -f '$(BINDIR)/sine.cxx'; then $(CYGPATH_W) '$(BINDIR)/sine.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/sine.cxx'; fi`
401
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
402
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/sine.cxx' object='sine.obj' libtool=no @AMDEPBACKSLASH@
403
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
404
+ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sine.obj `if test -f '$(BINDIR)/sine.cxx'; then $(CYGPATH_W) '$(BINDIR)/sine.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/sine.cxx'; fi`
405
+
406
+ mostlyclean-libtool:
407
+ -rm -f *.lo
408
+
409
+ clean-libtool:
410
+ -rm -rf .libs _libs
411
+
412
+ ID: $(am__tagged_files)
413
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
414
+ tags: tags-am
415
+ TAGS: tags
416
+
417
+ tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
418
+ set x; \
419
+ here=`pwd`; \
420
+ $(am__define_uniq_tagged_files); \
421
+ shift; \
422
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
423
+ test -n "$$unique" || unique=$$empty_fix; \
424
+ if test $$# -gt 0; then \
425
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
426
+ "$$@" $$unique; \
427
+ else \
428
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
429
+ $$unique; \
430
+ fi; \
431
+ fi
432
+ ctags: ctags-am
433
+
434
+ CTAGS: ctags
435
+ ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
436
+ $(am__define_uniq_tagged_files); \
437
+ test -z "$(CTAGS_ARGS)$$unique" \
438
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
439
+ $$unique
440
+
441
+ GTAGS:
442
+ here=`$(am__cd) $(top_builddir) && pwd` \
443
+ && $(am__cd) $(top_srcdir) \
444
+ && gtags -i $(GTAGS_ARGS) "$$here"
445
+ cscopelist: cscopelist-am
446
+
447
+ cscopelist-am: $(am__tagged_files)
448
+ list='$(am__tagged_files)'; \
449
+ case "$(srcdir)" in \
450
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
451
+ *) sdir=$(subdir)/$(srcdir) ;; \
452
+ esac; \
453
+ for i in $$list; do \
454
+ if test -f "$$i"; then \
455
+ echo "$(subdir)/$$i"; \
456
+ else \
457
+ echo "$$sdir/$$i"; \
458
+ fi; \
459
+ done >> $(top_builddir)/cscope.files
460
+
461
+ distclean-tags:
462
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
463
+
464
+ distdir: $(DISTFILES)
465
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
466
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
467
+ list='$(DISTFILES)'; \
468
+ dist_files=`for file in $$list; do echo $$file; done | \
469
+ sed -e "s|^$$srcdirstrip/||;t" \
470
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
471
+ case $$dist_files in \
472
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
473
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
474
+ sort -u` ;; \
475
+ esac; \
476
+ for file in $$dist_files; do \
477
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
478
+ if test -d $$d/$$file; then \
479
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
480
+ if test -d "$(distdir)/$$file"; then \
481
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
482
+ fi; \
483
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
484
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
485
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
486
+ fi; \
487
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
488
+ else \
489
+ test -f "$(distdir)/$$file" \
490
+ || cp -p $$d/$$file "$(distdir)/$$file" \
491
+ || exit 1; \
492
+ fi; \
493
+ done
494
+ check-am: all-am
495
+ check: check-am
496
+ all-am: Makefile $(PROGRAMS)
497
+ installdirs:
498
+ install: install-am
499
+ install-exec: install-exec-am
500
+ install-data: install-data-am
501
+ uninstall: uninstall-am
502
+
503
+ install-am: all-am
504
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
505
+
506
+ installcheck: installcheck-am
507
+ install-strip:
508
+ if test -z '$(STRIP)'; then \
509
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
510
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
511
+ install; \
512
+ else \
513
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
514
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
515
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
516
+ fi
517
+ mostlyclean-generic:
518
+
519
+ clean-generic:
520
+
521
+ distclean-generic:
522
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
523
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
524
+
525
+ maintainer-clean-generic:
526
+ @echo "This command is intended for maintainers to use"
527
+ @echo "it deletes files that may require special tools to rebuild."
528
+ clean: clean-am
529
+
530
+ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
531
+ mostlyclean-am
532
+
533
+ distclean: distclean-am
534
+ -rm -rf ./$(DEPDIR)
535
+ -rm -f Makefile
536
+ distclean-am: clean-am distclean-compile distclean-generic \
537
+ distclean-tags
538
+
539
+ dvi: dvi-am
540
+
541
+ dvi-am:
542
+
543
+ html: html-am
544
+
545
+ html-am:
546
+
547
+ info: info-am
548
+
549
+ info-am:
550
+
551
+ install-data-am:
552
+
553
+ install-dvi: install-dvi-am
554
+
555
+ install-dvi-am:
556
+
557
+ install-exec-am:
558
+
559
+ install-html: install-html-am
560
+
561
+ install-html-am:
562
+
563
+ install-info: install-info-am
564
+
565
+ install-info-am:
566
+
567
+ install-man:
568
+
569
+ install-pdf: install-pdf-am
570
+
571
+ install-pdf-am:
572
+
573
+ install-ps: install-ps-am
574
+
575
+ install-ps-am:
576
+
577
+ installcheck-am:
578
+
579
+ maintainer-clean: maintainer-clean-am
580
+ -rm -rf ./$(DEPDIR)
581
+ -rm -f Makefile
582
+ maintainer-clean-am: distclean-am maintainer-clean-generic
583
+
584
+ mostlyclean: mostlyclean-am
585
+
586
+ mostlyclean-am: mostlyclean-compile mostlyclean-generic \
587
+ mostlyclean-libtool
588
+
589
+ pdf: pdf-am
590
+
591
+ pdf-am:
592
+
593
+ ps: ps-am
594
+
595
+ ps-am:
596
+
597
+ uninstall-am:
598
+
599
+ .MAKE: install-am install-strip
600
+
601
+ .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
602
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
603
+ ctags-am distclean distclean-compile distclean-generic \
604
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
605
+ html-am info info-am install install-am install-data \
606
+ install-data-am install-dvi install-dvi-am install-exec \
607
+ install-exec-am install-html install-html-am install-info \
608
+ install-info-am install-man install-pdf install-pdf-am \
609
+ install-ps install-ps-am install-strip installcheck \
610
+ installcheck-am installdirs maintainer-clean \
611
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
612
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
613
+ tags tags-am uninstall uninstall-am
614
+
615
+
616
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
617
+ # Otherwise a system limit (for SysV at least) may be exceeded.
618
+ .NOEXPORT:
portaudio/bindings/cpp/build/gnu/Makefile.in ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #
2
+ # Makefile template for PortAudioCpp
3
+ # Ludwig Schwardt
4
+ # 01/10/2003
5
+ #
6
+ # Not much to edit here - rather check configure.ac
7
+ #
8
+
9
+ PREFIX = @prefix@
10
+ CC = @CC@
11
+ CXX = @CXX@
12
+ CFLAGS = @CFLAGS@ @DEFS@
13
+ CXXFLAGS = @CXXFLAGS@
14
+ SHARED_FLAGS = @SHARED_FLAGS@
15
+ LIBS = @LIBS@
16
+ DLL_LIBS = @DLL_LIBS@
17
+ AR = @AR@
18
+ RANLIB = @RANLIB@
19
+ INSTALL = @INSTALL@
20
+
21
+ PACPP_ROOT = @PACPP_ROOT@
22
+ PORTAUDIO = @PORTAUDIO@
23
+ PADLL = @PADLL@
24
+ PACPP_DLL = @PACPP_DLL@
25
+ PALIB = libportaudio.a
26
+ PACPP_LIB = libportaudiocpp.a
27
+ PACPP_DLLV = $(PACPP_DLL).0.0.12
28
+
29
+ SRCDIR = $(PACPP_ROOT)/source/portaudiocpp
30
+ BINDIR = $(PACPP_ROOT)/example
31
+ LIBDIR = $(PACPP_ROOT)/lib
32
+ DOCDIR = $(PACPP_ROOT)/doc
33
+
34
+ OBJS = \
35
+ $(SRCDIR)/BlockingStream.o \
36
+ $(SRCDIR)/CallbackInterface.o \
37
+ $(SRCDIR)/CallbackStream.o \
38
+ $(SRCDIR)/CFunCallbackStream.o \
39
+ $(SRCDIR)/CppFunCallbackStream.o \
40
+ $(SRCDIR)/Device.o \
41
+ $(SRCDIR)/DirectionSpecificStreamParameters.o \
42
+ $(SRCDIR)/Exception.o \
43
+ $(SRCDIR)/HostApi.o \
44
+ $(SRCDIR)/InterfaceCallbackStream.o \
45
+ $(SRCDIR)/MemFunCallbackStream.o \
46
+ $(SRCDIR)/Stream.o \
47
+ $(SRCDIR)/StreamParameters.o \
48
+ $(SRCDIR)/System.o \
49
+ $(SRCDIR)/SystemDeviceIterator.o \
50
+ $(SRCDIR)/SystemHostApiIterator.o
51
+
52
+ # Not supported yet
53
+ # $(SRCDIR)/AsioDeviceAdapter.o
54
+
55
+ EXAMPLES = \
56
+ $(BINDIR)/devs \
57
+ $(BINDIR)/sine
58
+
59
+ .PHONY: all clean docs
60
+
61
+ all: $(EXAMPLES) $(LIBDIR)/$(PACPP_LIB) $(LIBDIR)/$(PACPP_DLL)
62
+
63
+ clean:
64
+ rm -rf $(SRCDIR)/*.o $(BINDIR)/*.o $(EXAMPLES) $(LIBDIR) $(DOCDIR)/api_reference
65
+ rm -rf autom4te.cache config.status config.log
66
+
67
+ docs:
68
+ cd $(DOCDIR); doxygen config.doxy.linux
69
+
70
+ %.o: %.c
71
+ $(CC) -c $(CFLAGS) $< -o $@
72
+
73
+ %.o: %.cxx
74
+ $(CXX) -c $(CXXFLAGS) $< -o $@
75
+
76
+
77
+ $(EXAMPLES): $(BINDIR)/%: $(BINDIR)/%.o $(OBJS)
78
+ $(CXX) $^ -o $@ $(LIBS)
79
+
80
+ $(LIBDIR)/$(PACPP_LIB): $(LIBDIR) $(OBJS)
81
+ $(AR) ruv $(LIBDIR)/$(PACPP_LIB) $(OBJS)
82
+ $(RANLIB) $(LIBDIR)/$(PACPP_LIB)
83
+
84
+ $(LIBDIR)/$(PACPP_DLLV): $(LIBDIR) $(OBJS)
85
+ $(CXX) $(SHARED_FLAGS) -o $(LIBDIR)/$(PACPP_DLLV) $(OBJS) $(DLL_LIBS)
86
+
87
+ $(LIBDIR)/$(PACPP_DLL): $(LIBDIR) $(OBJS)
88
+ $(CXX) $(SHARED_FLAGS) -o $(LIBDIR)/$(PACPP_DLL) $(OBJS) $(DLL_LIBS)
89
+
90
+ #install: $(LIBDIR)/$(PACPP_LIB) $(LIBDIR)/$(PACPP_DLLV)
91
+ # $(INSTALL) -m 644 $(LIBDIR)/$(PACPP_DLLV) $(PREFIX)/lib/$(PACPP_DLLV)
92
+ # $(INSTALL) -m 644 $(LIBDIR)/$(PACPP_LIB) $(PREFIX)/lib/$(PACPP_LIB)
93
+ # cd $(PREFIX)/lib && rm -f $(PACPP_DLL) && ln -s $(PACPP_DLLV) $(PACPP_DLL)
94
+ # @echo ""
95
+ # @echo "------------------------------------------------------------"
96
+ # @echo "PortAudioCpp was successfully installed."
97
+ # @echo ""
98
+ # @echo "On some systems (e.g. Linux) you should run 'ldconfig' now"
99
+ # @echo "to make the shared object available. You may also need to"
100
+ # @echo "modify your LD_LIBRARY_PATH environment variable to include"
101
+ # @echo "the directory $(PREFIX)/lib"
102
+ # @echo "------------------------------------------------------------"
103
+ # @echo ""
104
+
105
+ $(LIBDIR):
106
+ mkdir $(LIBDIR)
portaudio/bindings/cpp/build/gnu/OUT_OF_DATE ADDED
File without changes
portaudio/bindings/cpp/build/gnu/aclocal.m4 ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
3
+ dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
4
+ dnl also defines GSTUFF_PKG_ERRORS on error
5
+ AC_DEFUN(PKG_CHECK_MODULES, [
6
+ succeeded=no
7
+
8
+ if test -z "$PKG_CONFIG"; then
9
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
10
+ fi
11
+
12
+ if test "$PKG_CONFIG" = "no" ; then
13
+ echo "*** The pkg-config script could not be found. Make sure it is"
14
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
15
+ echo "*** to the full path to pkg-config."
16
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
17
+ else
18
+ PKG_CONFIG_MIN_VERSION=0.9.0
19
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
20
+ AC_MSG_CHECKING(for $2)
21
+
22
+ if $PKG_CONFIG --exists "$2" ; then
23
+ AC_MSG_RESULT(yes)
24
+ succeeded=yes
25
+
26
+ AC_MSG_CHECKING($1_CFLAGS)
27
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
28
+ AC_MSG_RESULT($$1_CFLAGS)
29
+
30
+ AC_MSG_CHECKING($1_LIBS)
31
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
32
+ AC_MSG_RESULT($$1_LIBS)
33
+ else
34
+ $1_CFLAGS=""
35
+ $1_LIBS=""
36
+ ## If we have a custom action on failure, don't print errors, but
37
+ ## do set a variable so people can do so.
38
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
39
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
40
+ fi
41
+
42
+ AC_SUBST($1_CFLAGS)
43
+ AC_SUBST($1_LIBS)
44
+ else
45
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
46
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
47
+ fi
48
+ fi
49
+
50
+ if test $succeeded = yes; then
51
+ ifelse([$3], , :, [$3])
52
+ else
53
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
54
+ fi
55
+ ])
56
+
57
+
portaudio/bindings/cpp/build/gnu/config.guess ADDED
Binary file (38.3 kB). View file
 
portaudio/bindings/cpp/build/gnu/config.sub ADDED
Binary file (30.3 kB). View file
 
portaudio/bindings/cpp/build/gnu/configure ADDED
Binary file (127 kB). View file
 
portaudio/bindings/cpp/build/gnu/configure.ac ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #
2
+ # PortAudioCpp V19 autoconf input file
3
+ # Shamelessly ripped from the PortAudio one by Dominic Mazzoni
4
+ # Ludwig Schwardt
5
+ #
6
+
7
+ # Require autoconf >= 2.13
8
+ AC_PREREQ(2.13)
9
+
10
+ AC_INIT([PortAudioCpp], [12])
11
+ AC_CONFIG_SRCDIR([../../include/portaudiocpp/PortAudioCpp.hxx])
12
+
13
+ ###### Top-level directory of pacpp
14
+ ###### This makes it easy to shuffle the build directories
15
+ ###### Also edit AC_CONFIG_SRCDIR above (wouldn't accept this variable)!
16
+ PACPP_ROOT="../.."
17
+
18
+ ######
19
+ ###### SET THIS TO PORTAUDIO DIRECTORY
20
+ ######
21
+ PORTAUDIO="$PACPP_ROOT/../portaudio"
22
+
23
+ # Various other variables and flags
24
+
25
+ PACPP_INC="$PACPP_ROOT/include"
26
+ INCLUDES="-I$PACPP_INC -I$PORTAUDIO -I$PORTAUDIO/pa_common"
27
+ CFLAGS="-g -O2 -Wall -ansi -pedantic $INCLUDES"
28
+ CXXFLAGS="$CFLAGS"
29
+ PALIBDIR="$PORTAUDIO/lib"
30
+
31
+ # Checks for programs
32
+
33
+ AC_PROG_CC
34
+ AC_PROG_CXX
35
+ AC_PROG_LN_S
36
+ AC_PROG_RANLIB
37
+ AC_PROG_INSTALL
38
+ AC_PATH_PROG(AR, ar, no)
39
+ if [[ $AR = "no" ]] ; then
40
+ AC_MSG_ERROR("Could not find ar - needed to create a library");
41
+ fi
42
+
43
+ # This must be one of the first tests we do or it will fail...
44
+ AC_C_BIGENDIAN
45
+
46
+ # Transfer these variables to the Makefile
47
+ AC_SUBST(PACPP_ROOT)
48
+ AC_SUBST(PORTAUDIO)
49
+ AC_SUBST(PADLL)
50
+ AC_SUBST(PACPP_DLL)
51
+ AC_SUBST(PACPP_INC)
52
+ AC_SUBST(SHARED_FLAGS)
53
+ AC_SUBST(DLL_LIBS)
54
+ AC_SUBST(CXXFLAGS)
55
+
56
+ ##################### CHECK FOR INSTALLED PACKAGES ############################
57
+
58
+ # checks for various host APIs and arguments to configure that
59
+ # turn them on or off
60
+
61
+ AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
62
+
63
+ # Determine the host description for the subsequent test.
64
+ # PKG_CHECK_MODULES seems to check and set the host variable also, but
65
+ # that then requires pkg-config availability which is not standard on
66
+ # MinGW systems and can be a pain to install.
67
+ AC_CANONICAL_HOST
68
+
69
+ PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
70
+
71
+ AC_ARG_WITH(alsa,
72
+ [ --with-alsa (default=auto)],
73
+ with_alsa=$withval, with_alsa="yes")
74
+
75
+ AC_ARG_WITH(jack,
76
+ [ --with-jack (default=auto)],
77
+ with_jack=$withval, with_jack="yes")
78
+
79
+ AC_ARG_WITH(oss,
80
+ [ --with-oss (default=yes)],
81
+ with_oss=$withval, with_oss="yes")
82
+
83
+ AC_ARG_WITH(host_os,
84
+ [ --with-host_os (no default)],
85
+ host_os=$withval)
86
+
87
+ AC_ARG_WITH(winapi,
88
+ [ --with-winapi ((wmme/directx/asio) default=wmme)],
89
+ with_winapi=$withval, with_winapi="wmme")
90
+
91
+ # Mac API added for ASIO, can have other api's listed
92
+ AC_ARG_WITH(macapi,
93
+ [ --with-macapi (asio) default=asio)],
94
+ with_macapi=$withval, with_macapi="asio")
95
+
96
+ AC_ARG_WITH(asiodir,
97
+ [ --with-asiodir (default=/usr/local/asiosdk2)],
98
+ with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2")
99
+
100
+ AC_ARG_WITH(dxdir,
101
+ [ --with-dxdir (default=/usr/local/dx7sdk)],
102
+ with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk")
103
+
104
+
105
+ ##################### HOST-SPECIFIC LIBRARY SETTINGS ##########################
106
+
107
+ case "${host_os}" in
108
+ darwin* )
109
+ # Mac OS X configuration
110
+
111
+ LIBS="-framework AudioUnit -framework AudioToolbox -framework CoreAudio";
112
+ PADLL="libportaudio.dylib";
113
+ PACPP_DLL="libportaudiocpp.dylib";
114
+ SHARED_FLAGS="-framework AudioUnit -framework AudioToolbox";
115
+ SHARED_FLAGS="$SHARED_FLAGS -framework CoreAudio -dynamiclib";
116
+ if [[ $with_macapi = "asio" ]] ; then
117
+ if [[ $with_asiodir ]] ; then
118
+ ASIODIR="$with_asiodir";
119
+ else
120
+ ASIODIR="/usr/local/asiosdk2";
121
+ fi
122
+ echo "ASIODIR: $ASIODIR";
123
+ fi
124
+ ;;
125
+
126
+ mingw* )
127
+ # MingW configuration
128
+
129
+ echo "WINAPI: $with_winapi"
130
+ if [[ $with_winapi = "directx" ]] ; then
131
+ if [[ $with_dxdir ]] ; then
132
+ DXDIR="$with_dxdir";
133
+ else
134
+ DXDIR="/usr/local/dx7sdk";
135
+ fi
136
+ echo "DXDIR: $DXDIR"
137
+ LIBS="-L$PALIBDIR -lportaudio"
138
+ LIBS="$LIBS -lwinmm -lm -ldsound -lole32";
139
+ PADLL="portaudio.dll";
140
+ PACPP_DLL="portaudiocpp.dll";
141
+ SHARED_FLAGS="-shared -mthreads";
142
+ DLL_LIBS="-lwinmm -lm -L./dx7sdk/lib -ldsound -lole32";
143
+ CFLAGS="$CFLAGS -DPA_NO_WMME -DPA_NO_ASIO";
144
+ CXXFLAGS="$CFLAGS"
145
+ elif [[ $with_winapi = "asio" ]] ; then
146
+ if [[ $with_asiodir ]] ; then
147
+ ASIODIR="$with_asiodir";
148
+ else
149
+ ASIODIR="/usr/local/asiosdk2";
150
+ fi
151
+ echo "ASIODIR: $ASIODIR"
152
+
153
+ LIBS="-L$PALIBDIR -lportaudio"
154
+ LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
155
+ PADLL="portaudio.dll";
156
+ PACPP_DLL="portaudiocpp.dll";
157
+ SHARED_FLAGS="-shared -mthreads";
158
+ DLL_LIBS="-lwinmm -lm -lstdc++ -lole32 -luuid";
159
+ CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -DPA_NO_WMME -DPA_NO_DS -DWINDOWS";
160
+ CXXFLAGS="$CFLAGS";
161
+ else # WMME default
162
+ LIBS="-L$PALIBDIR -lportaudio"
163
+ LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
164
+ PADLL="portaudio.dll";
165
+ PACPP_DLL="portaudiocpp.dll";
166
+ SHARED_FLAGS="-shared -mthreads";
167
+ DLL_LIBS="-lwinmm";
168
+ CFLAGS="$CFLAGS -DPA_NO_DS -DPA_NO_ASIO";
169
+ CXXFLAGS="$CFLAGS";
170
+ fi
171
+ ;;
172
+
173
+ cygwin* )
174
+ # Cygwin configuration
175
+
176
+ LIBS="-L$PALIBDIR -lportaudio"
177
+ LIBS="$LIBS -lwinmm -lm";
178
+ PADLL="portaudio.dll";
179
+ PACPP_DLL="portaudiocpp.dll";
180
+ SHARED_FLAGS="-shared -mthreads";
181
+ DLL_LIBS="-lwinmm";
182
+ ;;
183
+
184
+ *)
185
+ # Unix OSS configuration
186
+
187
+ AC_CHECK_LIB(pthread, pthread_create,
188
+ ,
189
+ AC_MSG_ERROR([libpthread not found!]))
190
+
191
+ LIBS="$LIBS -L$PALIBDIR -lportaudio"
192
+
193
+ if [[ $have_jack = "yes" ] && [ $with_jack != "no" ]] ; then
194
+ LIBS="$LIBS $JACK_LIBS"
195
+ CFLAGS="$CFLAGS $JACK_CFLAGS"
196
+ AC_DEFINE(PA_USE_JACK)
197
+ fi
198
+
199
+ if [[ $have_alsa = "yes" ] && [ $with_alsa != "no" ]] ; then
200
+ LIBS="$LIBS -lasound"
201
+ AC_DEFINE(PA_USE_ALSA)
202
+ fi
203
+
204
+ if [[ $with_oss != "no" ]] ; then
205
+ AC_DEFINE(PA_USE_OSS)
206
+ fi
207
+ LIBS="$LIBS -lm -lpthread";
208
+ PADLL="libportaudio.so";
209
+ PACPP_DLL="libportaudiocpp.so";
210
+ SHARED_FLAGS="-shared";
211
+ esac
212
+
213
+ AC_CONFIG_FILES([Makefile])
214
+ AC_OUTPUT
portaudio/bindings/cpp/build/gnu/install-sh ADDED
Binary file (5.6 kB). View file
 
portaudio/bindings/cpp/build/vc6/devs_example.dsp ADDED
@@ -0,0 +1,248 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Microsoft Developer Studio Project File - Name="devs_example" - Package Owner=<4>
2
+ # Microsoft Developer Studio Generated Build File, Format Version 6.00
3
+ # ** DO NOT EDIT **
4
+
5
+ # TARGTYPE "Win32 (x86) Console Application" 0x0103
6
+
7
+ CFG=devs_example - Win32 Debug
8
+ !MESSAGE This is not a valid makefile. To build this project using NMAKE,
9
+ !MESSAGE use the Export Makefile command and run
10
+ !MESSAGE
11
+ !MESSAGE NMAKE /f "devs_example.mak".
12
+ !MESSAGE
13
+ !MESSAGE You can specify a configuration when running NMAKE
14
+ !MESSAGE by defining the macro CFG on the command line. For example:
15
+ !MESSAGE
16
+ !MESSAGE NMAKE /f "devs_example.mak" CFG="devs_example - Win32 Debug"
17
+ !MESSAGE
18
+ !MESSAGE Possible choices for configuration are:
19
+ !MESSAGE
20
+ !MESSAGE "devs_example - Win32 Release" (based on "Win32 (x86) Console Application")
21
+ !MESSAGE "devs_example - Win32 Debug" (based on "Win32 (x86) Console Application")
22
+ !MESSAGE
23
+
24
+ # Begin Project
25
+ # PROP AllowPerConfigDependencies 0
26
+ # PROP Scc_ProjName ""
27
+ # PROP Scc_LocalPath ""
28
+ CPP=cl.exe
29
+ RSC=rc.exe
30
+
31
+ !IF "$(CFG)" == "devs_example - Win32 Release"
32
+
33
+ # PROP BASE Use_MFC 0
34
+ # PROP BASE Use_Debug_Libraries 0
35
+ # PROP BASE Output_Dir "Release"
36
+ # PROP BASE Intermediate_Dir "Release"
37
+ # PROP BASE Target_Dir ""
38
+ # PROP Use_MFC 0
39
+ # PROP Use_Debug_Libraries 0
40
+ # PROP Output_Dir "Release"
41
+ # PROP Intermediate_Dir "Release"
42
+ # PROP Ignore_Export_Lib 0
43
+ # PROP Target_Dir ""
44
+ # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
45
+ # ADD CPP /nologo /MTd /W3 /GX /O2 /I "../../include/" /I "../../../../include/" /I "../../../../src/common/" /I "../../../../../asiosdk2/common/" /I "../../../../../asiosdk2/host/" /I "../../../../../asiosdk2/host/pc/" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
46
+ # SUBTRACT CPP /YX
47
+ # ADD BASE RSC /l 0x809 /d "NDEBUG"
48
+ # ADD RSC /l 0x809 /d "NDEBUG"
49
+ BSC32=bscmake.exe
50
+ # ADD BASE BSC32 /nologo
51
+ # ADD BSC32 /nologo
52
+ LINK32=link.exe
53
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
54
+ # ADD LINK32 portaudiocpp-vc6-r.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/devs_example.exe" /libpath:"../../lib"
55
+
56
+ !ELSEIF "$(CFG)" == "devs_example - Win32 Debug"
57
+
58
+ # PROP BASE Use_MFC 0
59
+ # PROP BASE Use_Debug_Libraries 1
60
+ # PROP BASE Output_Dir "Debug"
61
+ # PROP BASE Intermediate_Dir "Debug"
62
+ # PROP BASE Target_Dir ""
63
+ # PROP Use_MFC 0
64
+ # PROP Use_Debug_Libraries 1
65
+ # PROP Output_Dir "Debug"
66
+ # PROP Intermediate_Dir "Debug"
67
+ # PROP Ignore_Export_Lib 0
68
+ # PROP Target_Dir ""
69
+ # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
70
+ # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include/" /I "../../../../include/" /I "../../../../src/common/" /I "../../../../../asiosdk2/common/" /I "../../../../../asiosdk2/host/" /I "../../../../../asiosdk2/host/pc/" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
71
+ # SUBTRACT CPP /YX
72
+ # ADD BASE RSC /l 0x809 /d "_DEBUG"
73
+ # ADD RSC /l 0x809 /d "_DEBUG"
74
+ BSC32=bscmake.exe
75
+ # ADD BASE BSC32 /nologo
76
+ # ADD BSC32 /nologo
77
+ LINK32=link.exe
78
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
79
+ # ADD LINK32 portaudiocpp-vc6-d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/devs_example.exe" /pdbtype:sept /libpath:"../../lib"
80
+
81
+ !ENDIF
82
+
83
+ # Begin Target
84
+
85
+ # Name "devs_example - Win32 Release"
86
+ # Name "devs_example - Win32 Debug"
87
+ # Begin Group "Source Files"
88
+
89
+ # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
90
+ # Begin Source File
91
+
92
+ SOURCE=..\..\..\..\pa_asio\iasiothiscallresolver.cpp
93
+ # End Source File
94
+ # Begin Source File
95
+
96
+ SOURCE=..\..\..\..\src\common\pa_allocation.c
97
+ # End Source File
98
+ # Begin Source File
99
+
100
+ SOURCE=..\..\..\..\pa_asio\pa_asio.cpp
101
+ # End Source File
102
+ # Begin Source File
103
+
104
+ SOURCE=..\..\..\..\src\common\pa_converters.c
105
+ # End Source File
106
+ # Begin Source File
107
+
108
+ SOURCE=..\..\..\..\src\common\pa_cpuload.c
109
+ # End Source File
110
+ # Begin Source File
111
+
112
+ SOURCE=..\..\..\..\src\common\pa_dither.c
113
+ # End Source File
114
+ # Begin Source File
115
+
116
+ SOURCE=..\..\..\..\src\common\pa_front.c
117
+ # End Source File
118
+ # Begin Source File
119
+
120
+ SOURCE=..\..\..\..\src\common\pa_process.c
121
+ # End Source File
122
+ # Begin Source File
123
+
124
+ SOURCE=..\..\..\..\src\hostapi\skeleton\pa_hostapi_skeleton.c
125
+ # End Source File
126
+ # Begin Source File
127
+
128
+ SOURCE=..\..\..\..\src\common\pa_stream.c
129
+ # End Source File
130
+ # Begin Source File
131
+
132
+ SOURCE=..\..\..\..\src\common\pa_trace.c
133
+ # End Source File
134
+ # Begin Source File
135
+
136
+ SOURCE=..\..\..\..\src\hostapi\dsound\pa_win_ds.c
137
+ # End Source File
138
+ # Begin Source File
139
+
140
+ SOURCE=..\..\..\..\src\hostapi\dsound\pa_win_ds_dynlink.c
141
+ # End Source File
142
+ # Begin Source File
143
+
144
+ SOURCE=..\..\..\..\src\os\win\pa_win_hostapis.c
145
+ # End Source File
146
+ # Begin Source File
147
+
148
+ SOURCE=..\..\..\..\src\os\win\pa_win_util.c
149
+ # End Source File
150
+ # Begin Source File
151
+
152
+ SOURCE=..\..\..\..\src\hostapi\wmme\pa_win_wmme.c
153
+ # End Source File
154
+ # Begin Source File
155
+
156
+ SOURCE=..\..\..\..\src\os\win\pa_x86_plain_converters.c
157
+ # End Source File
158
+ # End Group
159
+ # Begin Group "Header Files"
160
+
161
+ # PROP Default_Filter "h;hpp;hxx;hm;inl"
162
+ # Begin Source File
163
+
164
+ SOURCE=..\..\..\..\pa_asio\iasiothiscallresolver.h
165
+ # End Source File
166
+ # Begin Source File
167
+
168
+ SOURCE=..\..\..\..\src\common\pa_allocation.h
169
+ # End Source File
170
+ # Begin Source File
171
+
172
+ SOURCE=..\..\..\..\src\common\pa_converters.h
173
+ # End Source File
174
+ # Begin Source File
175
+
176
+ SOURCE=..\..\..\..\src\common\pa_cpuload.h
177
+ # End Source File
178
+ # Begin Source File
179
+
180
+ SOURCE=..\..\..\..\src\common\pa_dither.h
181
+ # End Source File
182
+ # Begin Source File
183
+
184
+ SOURCE=..\..\..\..\src\common\pa_endianness.h
185
+ # End Source File
186
+ # Begin Source File
187
+
188
+ SOURCE=..\..\..\..\src\common\pa_hostapi.h
189
+ # End Source File
190
+ # Begin Source File
191
+
192
+ SOURCE=..\..\..\..\src\common\pa_process.h
193
+ # End Source File
194
+ # Begin Source File
195
+
196
+ SOURCE=..\..\..\..\src\common\pa_stream.h
197
+ # End Source File
198
+ # Begin Source File
199
+
200
+ SOURCE=..\..\..\..\src\common\pa_trace.h
201
+ # End Source File
202
+ # Begin Source File
203
+
204
+ SOURCE=..\..\..\..\src\common\pa_types.h
205
+ # End Source File
206
+ # Begin Source File
207
+
208
+ SOURCE=..\..\..\..\src\common\pa_util.h
209
+ # End Source File
210
+ # Begin Source File
211
+
212
+ SOURCE=..\..\..\..\src\hostapi\dsound\pa_win_ds_dynlink.h
213
+ # End Source File
214
+ # Begin Source File
215
+
216
+ SOURCE=..\..\..\..\src\os\win\pa_x86_plain_converters.h
217
+ # End Source File
218
+ # End Group
219
+ # Begin Group "Resource Files"
220
+
221
+ # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
222
+ # End Group
223
+ # Begin Group "Example Files"
224
+
225
+ # PROP Default_Filter ""
226
+ # Begin Source File
227
+
228
+ SOURCE=..\..\example\devs.cxx
229
+ # End Source File
230
+ # End Group
231
+ # Begin Group "ASIO 2 SDK"
232
+
233
+ # PROP Default_Filter ""
234
+ # Begin Source File
235
+
236
+ SOURCE=..\..\..\..\..\asiosdk2\common\asio.cpp
237
+ # End Source File
238
+ # Begin Source File
239
+
240
+ SOURCE=..\..\..\..\..\asiosdk2\host\asiodrivers.cpp
241
+ # End Source File
242
+ # Begin Source File
243
+
244
+ SOURCE=..\..\..\..\..\asiosdk2\host\pc\asiolist.cpp
245
+ # End Source File
246
+ # End Group
247
+ # End Target
248
+ # End Project