369 * might already be at a high amplitude, the maximum setting does not 370 * guarantee that the signal will be undistorted when the gain is 371 * applied to it (unless the maximum is zero or negative). To avoid 372 * numeric overflow from excessively large gain settings, a gain control 373 * can implement clipping, meaning that the signal's amplitude will be 374 * limited to the maximum value representable by its audio format, 375 * instead of wrapping around. 376 * <p> 377 * These comments apply to gain controls in general, not just master 378 * gain controls. A line can have more than one gain control. For 379 * example, a mixer (which is itself a line) might have a master gain 380 * control, an auxiliary return control, a reverb return control, and, 381 * on each of its source lines, an individual aux send and reverb send. 382 * 383 * @see #AUX_SEND 384 * @see #AUX_RETURN 385 * @see #REVERB_SEND 386 * @see #REVERB_RETURN 387 * @see #VOLUME 388 */ 389 public static final Type MASTER_GAIN = new Type("Master Gain"); 390 391 /** 392 * Represents a control for the auxiliary send gain on a line. 393 * 394 * @see #MASTER_GAIN 395 * @see #AUX_RETURN 396 */ 397 public static final Type AUX_SEND = new Type("AUX Send"); 398 399 /** 400 * Represents a control for the auxiliary return gain on a line. 401 * 402 * @see #MASTER_GAIN 403 * @see #AUX_SEND 404 */ 405 public static final Type AUX_RETURN = new Type("AUX Return"); 406 407 /** 408 * Represents a control for the pre-reverb gain on a line. This control 409 * may be used to affect how much of a line's signal is directed to a 410 * mixer's internal reverberation unit. 411 * 412 * @see #MASTER_GAIN 413 * @see #REVERB_RETURN 414 * @see EnumControl.Type#REVERB 415 */ 416 public static final Type REVERB_SEND = new Type("Reverb Send"); 417 418 /** 419 * Represents a control for the post-reverb gain on a line. This control 420 * may be used to control the relative amplitude of the signal returned 421 * from an internal reverberation unit. 422 * 423 * @see #MASTER_GAIN 424 * @see #REVERB_SEND 425 */ 426 public static final Type REVERB_RETURN = new Type("Reverb Return"); 427 428 /** 429 * Represents a control for the volume on a line. 430 */ 431 /* 432 * $$kk: 08.30.99: ISSUE: what units? linear or dB? 433 */ 434 public static final Type VOLUME = new Type("Volume"); 435 436 /** 437 * Represents a control for the relative pan (left-right positioning) of 438 * the signal. The signal may be mono; the pan setting affects how it is 439 * distributed by the mixer in a stereo mix. The valid range of values 440 * is -1.0 (left channel only) to 1.0 (right channel only). The default 441 * is 0.0 (centered). 442 * 443 * @see #BALANCE 444 */ 445 public static final Type PAN = new Type("Pan"); 446 447 /** 448 * Represents a control for the relative balance of a stereo signal 449 * between two stereo speakers. The valid range of values is -1.0 (left 450 * channel only) to 1.0 (right channel only). The default is 0.0 451 * (centered). 452 * 453 * @see #PAN 454 */ 455 public static final Type BALANCE = new Type("Balance"); 456 457 /** 458 * Represents a control that changes the sample rate of audio playback. 459 * The net effect of changing the sample rate depends on the 460 * relationship between the media's natural rate and the rate that is 461 * set via this control. The natural rate is the sample rate that is 462 * specified in the data line's {@code AudioFormat} object. For example, 463 * if the natural rate of the media is 11025 samples per second and the 464 * sample rate is set to 22050 samples per second, the media will play 465 * back at twice the normal speed. 466 * <p> 467 * Changing the sample rate with this control does not affect the data 468 * line's audio format. Also note that whenever you change a sound's 469 * sample rate, a change in the sound's pitch results. For example, 470 * doubling the sample rate has the effect of doubling the frequencies 471 * in the sound's spectrum, which raises the pitch by an octave. 472 */ 473 public static final Type SAMPLE_RATE = new Type("Sample Rate"); 474 475 /** 476 * Constructs a new float control type. 477 * 478 * @param name the name of the new float control type 479 */ 480 protected Type(final String name) { 481 super(name); 482 } 483 } 484 } | 369 * might already be at a high amplitude, the maximum setting does not 370 * guarantee that the signal will be undistorted when the gain is 371 * applied to it (unless the maximum is zero or negative). To avoid 372 * numeric overflow from excessively large gain settings, a gain control 373 * can implement clipping, meaning that the signal's amplitude will be 374 * limited to the maximum value representable by its audio format, 375 * instead of wrapping around. 376 * <p> 377 * These comments apply to gain controls in general, not just master 378 * gain controls. A line can have more than one gain control. For 379 * example, a mixer (which is itself a line) might have a master gain 380 * control, an auxiliary return control, a reverb return control, and, 381 * on each of its source lines, an individual aux send and reverb send. 382 * 383 * @see #AUX_SEND 384 * @see #AUX_RETURN 385 * @see #REVERB_SEND 386 * @see #REVERB_RETURN 387 * @see #VOLUME 388 */ 389 public static final Type MASTER_GAIN = new Type("Master Gain"); 390 391 /** 392 * Represents a control for the auxiliary send gain on a line. 393 * 394 * @see #MASTER_GAIN 395 * @see #AUX_RETURN 396 */ 397 public static final Type AUX_SEND = new Type("AUX Send"); 398 399 /** 400 * Represents a control for the auxiliary return gain on a line. 401 * 402 * @see #MASTER_GAIN 403 * @see #AUX_SEND 404 */ 405 public static final Type AUX_RETURN = new Type("AUX Return"); 406 407 /** 408 * Represents a control for the pre-reverb gain on a line. This control 409 * may be used to affect how much of a line's signal is directed to a 410 * mixer's internal reverberation unit. 411 * 412 * @see #MASTER_GAIN 413 * @see #REVERB_RETURN 414 * @see EnumControl.Type#REVERB 415 */ 416 public static final Type REVERB_SEND = new Type("Reverb Send"); 417 418 /** 419 * Represents a control for the post-reverb gain on a line. This control 420 * may be used to control the relative amplitude of the signal returned 421 * from an internal reverberation unit. 422 * 423 * @see #MASTER_GAIN 424 * @see #REVERB_SEND 425 */ 426 public static final Type REVERB_RETURN = new Type("Reverb Return"); 427 428 /** 429 * Represents a control for the volume on a line. 430 */ 431 /* 432 * $$kk: 08.30.99: ISSUE: what units? linear or dB? 433 */ 434 public static final Type VOLUME = new Type("Volume"); 435 436 /** 437 * Represents a control for the relative pan (left-right positioning) of 438 * the signal. The signal may be mono; the pan setting affects how it is 439 * distributed by the mixer in a stereo mix. The valid range of values 440 * is -1.0 (left channel only) to 1.0 (right channel only). The default 441 * is 0.0 (centered). 442 * 443 * @see #BALANCE 444 */ 445 public static final Type PAN = new Type("Pan"); 446 447 /** 448 * Represents a control for the relative balance of a stereo signal 449 * between two stereo speakers. The valid range of values is -1.0 (left 450 * channel only) to 1.0 (right channel only). The default is 0.0 451 * (centered). 452 * 453 * @see #PAN 454 */ 455 public static final Type BALANCE = new Type("Balance"); 456 457 /** 458 * Represents a control that changes the sample rate of audio playback. 459 * The net effect of changing the sample rate depends on the 460 * relationship between the media's natural rate and the rate that is 461 * set via this control. The natural rate is the sample rate that is 462 * specified in the data line's {@code AudioFormat} object. For example, 463 * if the natural rate of the media is 11025 samples per second and the 464 * sample rate is set to 22050 samples per second, the media will play 465 * back at twice the normal speed. 466 * <p> 467 * Changing the sample rate with this control does not affect the data 468 * line's audio format. Also note that whenever you change a sound's 469 * sample rate, a change in the sound's pitch results. For example, 470 * doubling the sample rate has the effect of doubling the frequencies 471 * in the sound's spectrum, which raises the pitch by an octave. 472 */ 473 public static final Type SAMPLE_RATE = new Type("Sample Rate"); 474 475 /** 476 * Constructs a new float control type. 477 * 478 * @param name the name of the new float control type 479 */ 480 protected Type(final String name) { 481 super(name); 482 } 483 } 484 } |