3 #include "../usbaudio.h"
4 #include "usbus428ctldefs.h"
7 #define NRPACKS 1 /* FIXME: Currently only 1 works.
8 usb-frames/ms per urb: 1 and 2 are supported.
9 setting to 2 will PERHAPS make it easier for slow machines.
10 Jitter will be higher though.
11 On my PIII 500Mhz Laptop setting to 1 is the only way to go
12 for PLAYING synths. i.e. Jack & Aeolus sound quit nicely
13 at 4 periods 64 frames.
16 #define URBS_AsyncSeq 10
17 #define URB_DataLen_AsyncSeq 32
19 struct urb* urb[URBS_AsyncSeq];
21 } snd_usX2Y_AsyncSeq_t;
29 typedef struct snd_usX2Y_substream snd_usX2Y_substream_t;
37 unsigned In04IntCalls;
38 snd_usX2Y_urbSeq_t *US04;
39 wait_queue_head_t In04WaitQueue;
40 snd_usX2Y_AsyncSeq_t AS04;
45 struct semaphore open_mutex;
46 us428ctls_sharedmem_t *us428ctls_sharedmem;
47 wait_queue_head_t us428ctls_wait_queue_head;
48 snd_usX2Y_substream_t *substream[4];
52 #define usX2Y(c) ((usX2Ydev_t*)(c)->private_data)
54 int usX2Y_audio_create(snd_card_t* card);
56 int usX2Y_AsyncSeq04_init(usX2Ydev_t* usX2Y);
57 int usX2Y_In04_init(usX2Ydev_t* usX2Y);
59 #define NAME_ALLCAPS "US-X2Y"