a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
Autodocs
 Devices:
 audio.device
  ADCMD_ALLOCATE
  ADCMD_FINISH
  ADCMD_FREE
  ADCMD_LOCK
  ADCMD_PERVOL
  ADCMD_SETPREC
  ADCMD_WAITCYCLE
  AbortIO
  BeginIO
  CMD_CLEAR
  CMD_FLUSH
  CMD_READ
  CMD_RESET
  CMD_START
  CMD_STOP
  CMD_UPDATE
  CMD_WRITE
  CloseDevice
  Expunge
  OpenDevice
Include
GuruMeditation
Docs » Autodocs » audio.device » ADCMD_PERVOL

NAME

       ADCMD_PERVOL -- change the period and volume for writes in progress to
audio channels

FUNCTION

       ADCMD_PERVOL is a command for multiple audio channels.  For each
selected channel (io_Unit), if the allocation key (ioa_AllocKey) is
correct and there is a write (CMD_WRITE) in progress, ADCMD_PERVOL
loads a new volume and period immediately or at the end of the current
cycle depending on the sync flag (ADIOF_SYNCCYCLE). If the allocation
key in incorrect, ADCMD_PERVOL returns an error
(ADIOERR_NOALLOCATION). ADCMD_PERVOL is synchronous and only replies
(mn_ReplyPort) if the quick flag (IOF_QUICK) is clear. Do not use
ADCMD_PERVOL in interrupt code at interrupt level 5 or higher.

INPUTS

       mn_ReplyPort- pointer to message port that receives I/O request
if the quick flag (IOF_QUICK) is clear
io_Device - pointer to device node, must be set by (or copied from
I/O block set by) OpenDevice function
io_Unit - bit map of channels to load period and volume (bits 0
thru 3 correspond to channels 0 thru 3)
io_Command - command number for ADCMD_PERVOL
io_Flags - flags, must be cleared if not used:
IOF_QUICK - (CLEAR) reply I/O request
ADIOF_SYNCCYCLE- (CLEAR) load period and volume
immediately
(SET) load period and volume at the end
of the current cycle
ioa_AllocKey- allocation key, must be set by (or copied from I/O block
set by) OpenDevice function or ADCMD_ALLOCATE command
ioa_Period - new sample period in 279.365 ns increments (124 thru
65536, anti-aliasing filter works below 300 to 500
depending on waveform)
ioa_Volume - new volume (0 thru 64, linear)

RESULT

       io_Unit     - bit map of channels that successfully loaded period and
volume (bits 0 thru 3 correspond to channels 0 thru 3)
io_Error - error number:
0 - no error
ADIOERR_NOALLOCATION - allocation key (ioa_AllocKey)
does not match key for channel

Comments

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

The Black Lotus

TBL
AYS
PDX
AFL

Comments:

$VER: d0.se 1.14 Copyright © 2011-2020 Tobias Geijersson support at d0 dot se