-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxwax.1
300 lines (300 loc) · 8.35 KB
/
xwax.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
.TH XWAX "1"
.SH NAME
xwax \- Digital vinyl on Linux
.SH SYNOPSIS
.B xwax
[\fIoptions\fR]
.SH DESCRIPTION
.P
xwax is vinyl emulation software for Linux. It allows DJs and
turntablists to playback digital audio files (MP3, Ogg Vorbis, FLAC,
AAC and more), controlled using a normal pair of turntables via
timecoded vinyls.
.SH OPTIONS
.P
The ordering of options is important. Most options apply to
subsequent music libraries or decks, which can be given multiple times.
See the
.B EXAMPLES
below.
.TP
.B \-l, \-\-crate \fIpath\fR
Scan for tracks or playlist at the given path. Tracks are grouped into
a crate in the music library.
.TP
.B \-\-timecode \fIname\fR
Use the named timecode for subsequent decks. See \-\-help for a list of
valid timecodes. You will need the corresponding timecode signal on
vinyl to control playback.
.TP
.B \-\-33
Set the reference playback speed for subsequent decks to 33 and one
third revolutions per minute. This is the default.
.TP
.B \-\-45
Set the reference playback speed for subsequent decks to 45
revolutions per minute.
.TP
.B \-\-[no\-]protect
Protect against loading new tracks or resetting the start of the track
if the deck is playing. Applies to subsequent decks, and the default is
off.
.TP
.B \-\-phono
Adjust the noise thresholds of subsequent decks to tolerate a
cartridge-level signal connected to a line-level audio interface. This
is a 'software pre-amp'. Unless your audio path has low noise, this
will give worse results or may not work at all; a true phono
pre-amplifier is always preferred.
.TP
.B \-\-line
Set noise thresholds of subsequent decks to standard audio levels.
This reverses the effect of the
.B \-\-phono
option, and is the default.
.TP
.B \-\-import \fIpath\fR
Execute the given program to load tracks for playing. The program
outputs a stream of signed, little-endian, 16-bit, 2 channel audio on
standard output.
.TP
.B \-\-scan \fIpath\fR
Execute the given program to scan music libraries. Applies to
subsequent use of the \-\-crate flag.
.TP
.B \-\-dummy
Create a deck which is not connected to any audio device, used
for testing.
.TP
.B \-\-lock\-ram
Lock into RAM any memory required for real-time use.
This includes audio tracks held in memory which can be large.
Use
.B ulimit \-l
to raise the kernel's memory limit to allow this.
.TP
.B \-\-rtprio \fIn\fR
Change the real-time priority of the process. A priority of 0 gives
the process no priority, and is used for testing only.
.TP
.B \-\-geometry [\fIn\fRx\fIn\fR][+\fIn\fR+\fIn\fR][/\fIf\fR]
Change the geometry of the display in size, position and scale (zoom)
respectively.
The size and position is passed
to SDL, which may use it to set the display mode, or size of an X window.
See the
.B EXAMPLES.
.TP
.B \-\-no\-decor
Request to the window manager to create a 'frameless' window which
does not have the regular controls such as title bars and buttons.
This can be useful in conjunction with the
.B \-\-geometry
flag for dedicated xwax installations.
.TP
.B \-h, \-\-help
Display the help message and default values.
.SH "ALSA DEVICE OPTIONS"
.P
The following options are available only when xwax is compiled with
ALSA support.
.TP
.B \-\-alsa \fIdevice\fR
Create a deck which uses the given ALSA device (eg. plughw:0).
.TP
.B \-\-rate \fIhz\fR
Set the sample rate for subsequent decks.
The default is to prefer 48000Hz, but use 44100Hz if that is
not available.
To maintain best performance, only sample rates implemented by
the hardware are available.
.TP
.B \-\-buffer \fIsamples\fR
Set the ALSA buffer size for subsequent decks.
Smaller is better for lower latencies and greater responsiveness.
Set too low and audible glitches will occur, with reports of underruns
to the console.
.SH "JACK DEVICE OPTIONS"
.P
The following options are available only when xwax is compiled with
JACK support.
.TP
.B \-\-jack \fIname\fR
Create a deck which connects to JACK and registers under the given
name.
.P
xwax does not set the sample rate for JACK devices; it uses the sample
rate given in the global JACK configuration.
.SH "OSS DEVICE OPTIONS"
.P
The following options are available only when xwax is compiled with
OSS support.
.TP
.B \-\-oss \fIpathname\fR
Create a deck which uses the given OSS device (eg. /dev/dsp).
.TP
.B \-\-rate \fIhz\fR
Set the sample rate for subsequent decks. The default for OSS devices
is 48000Hz.
.TP
.B \-\-oss\-buffers \fIn\fR
Set the number of buffers used by the OSS device. Applies to
subsequent decks.
.TP
.B \-\-oss\-fragment \fIn\fR
Set the size of a buffer used by the OSS device. The actual buffer is
2^n bytes. Applies to subsequent decks.
.SH HARDWARE CONTROLLER OPTIONS
.P
The following options are available only when xwax is compiled
with ALSA support.
.TP
.B \-\-dicer \fIdevice\fR
Use one or two Dicer controllers connected as the given ALSA device
(eg. hw:Dicer). See the section
.B NOVATION DICER CONTROLS
for more information.
.P
Adding a hardware controller results in control over subsequent decks,
up to the limit of the hardware.
.SH KEYBOARD CONTROLS
.P
The playback of each deck (direction, speed and position) is
controlled via the incoming timecode signal from the turntables.
The keyboard provides additional controls.
.P
"C-" and "S-" means a keypress is combined with
the 'Control' or 'Shift' key, respectively.
.P
Record selection controls:
.TP
cursor up, cursor down
Move highlighted record up/down by one.
.TP
page up, page down
Scroll the record listing up/down by one page.
.TP
left cursor, right cursor
Switch to the previous/next crate of records.
.TP
tab
Toggle between the current crate and the 'All records' crate.
.TP
C-tab
Toggle sort mode between: artist/track name, BPM and 'playlist'
order. Playlist order is the order in which records were returned
from the scanner.
.TP
C-S-tab
Re-scan the currently selected crate.
.P
To filter the current list of records type a portion of a record
name. Separate multiple searches with a space, and use backspace to
delete.
.P
Deck-specific controls:
.TS
l l l l.
Deck 0 Deck 1 Deck 2
F1 F5 F9 Load currently selected track to this deck
F2 F6 F10 Reset start of track to the current position
F3 F7 F11 Toggle timecode control on/off
C-F3 C-F7 C-F11 Cycle between available timecodes
.TE
.P
The "available timecodes" are those which have been the subject of any
.B \-\-timecode
flag on the command line.
.P
Audio display controls:
.TP
+, \-
Zoom in/out the close-up audio meters for all decks.
.SH NOVATION DICER CONTROLS
.P
The Novation Dicer provides hardware control of cue points. The controls
are:
.TP
cue mode: dice button (1-5)
Jump to the specified cue point, or set it if unset.
.TP
loop-roll mode: dicer button (1-5)
"Punch" to the specified cue point, or set it if unset. Returns playback
to normal when the button is released.
.TP
mode button + dice button (1-5)
Clear the specified cue point.
.P
The dice buttons are lit to show that the corresponding cue point is
set.
.SH EXAMPLES
.P
2-deck setup using one directory of music and OSS devices:
.sp
.RS
xwax \-\-crate ~/music \-\-oss /dev/dsp \-\-oss /dev/dsp1
.RE
.P
As above, but using ALSA devices:
.sp
.RS
xwax \-\-crate ~/music \-\-alsa hw:0 \-\-alsa hw:1
.RE
.P
2-deck setup using a different timecode on each deck:
.sp
.RS
xwax \-\-crate ~/music \-\-timecode serato_2a \-\-alsa hw:0 \-\-timecode mixvibes_v2 \-\-alsa hw:1
.RE
.P
As above, but with the second deck at 45 RPM:
.sp
.RS
xwax \-\-crate ~/music \-\-timecode serato_2a \-\-alsa hw:0 \-\-timecode mixvibes_v2 \-45 \-\-alsa hw:1
.RE
.P
Default to the same timecode, but allow switching at runtime:
.sp
.RS
xwax \-\-crate ~/music \-\-timecode serato_2a \-\-timecode mixvibes_v2 \-\-alsa hw:0 \-\-alsa hw:1
.RE
.P
3-deck setup with the third deck at a higher sample rate:
.sp
.RS
xwax \-\-crate ~/music \-\-rate 48000 \-\-alsa hw:0 \-\-alsa hw:1 \-\-rate 96000 \-\-alsa hw:2
.RE
.P
Using all three device types simultaneously, one deck on each:
.sp
.RS
xwax \-\-crate ~/music \-\-alsa hw:0 \-\-oss /dev/dsp1 \-j jack0
.RE
.P
Scan multiple music libraries:
.sp
.RS
xwax \-\-crate ~/music \-\-crate ~/sounds \-\-crate ~/mixes \-\-alsa hw:0
.RE
.P
Scan a second music library using a custom script:
.sp
.RS
xwax \-\-crate ~/music \-\-scan ./custom-scan \-\-crate ~/sounds \-\-alsa hw:0
.RE
.P
Control two decks with Dicer hardware:
.sp
.RS
xwax \-\-dicer hw:Dicer \-\-alsa hw:0 \-\-alsa hw:1
.RE
.P
Use a high resolution and enlarge the user interface:
.sp
.RS
xwax \-\-geometry 1920x1200/1.8 \-\-alsa hw:0
.RE
.SH HOMEPAGE
http://xwax.org/
.SH AUTHOR
Mark Hills <[email protected]>