diff options
-rw-r--r-- | README.md | 53 |
1 files changed, 33 insertions, 20 deletions
@@ -1,12 +1,13 @@ | |||
1 | This is the JackOnAllDevices project, JOAD for short. | 1 | This is part of the AllAudioToALSAandJACK project, aataaj for short, |
2 | pronounced like "attach". | ||
2 | 3 | ||
3 | The purpose is to scan for all ALSA / asound audio devices, and hook them | 4 | The purpose is to scan for all ALSA / asound audio devices, and hook them |
4 | all up to JACK. Then it starts up JACK, and hooks up any joysticks it | 5 | all up to ALSA and JACK. Then it starts up JACK, and hooks up any |
5 | finds as MIDI controllers. So any ALSA application gets routed through | 6 | joysticks it finds as MIDI controllers. So any ALSA application gets routed through |
6 | JACK. | 7 | JACK. |
7 | 8 | ||
8 | This is very rough for now, only just started writing it. jackoffall is | 9 | This is very rough for now, only just started writing it. The stop |
9 | particularly crude and violent, lots of killall. | 10 | command is particularly crude and violent, lots of killall. |
10 | 11 | ||
11 | Since it isn't a package yet, some setup is needed. | 12 | Since it isn't a package yet, some setup is needed. |
12 | 13 | ||
@@ -20,31 +21,43 @@ The packages you need installed are - | |||
20 | 21 | ||
21 | qjackctl can be used as a visual patchbay, though I prefer catia from the KXStudio repos. | 22 | qjackctl can be used as a visual patchbay, though I prefer catia from the KXStudio repos. |
22 | 23 | ||
23 | You need to have the snd-aloop kernel module loaded. The jackscanall | 24 | You need to have the snd-aloop kernel module loaded. |
24 | script should be run at boot time, put it into /etc/boot.d/. jackonall | 25 | |
25 | should be called on user login. Probably don't need to run jackoffall on | 26 | The aataaj.lua script should be run at boot time, put it into |
27 | /etc/boot.d/ and activate it with - | ||
28 | |||
29 | update-rc.d aataaj.lua defaults | ||
30 | |||
31 | It scans for your sound devices and creates /var/lib/aataaj/asoundrc. | ||
32 | You can run it manually with "aataaj start" each time you need to change | ||
33 | your devices. | ||
34 | |||
35 | |||
36 | |||
37 | "aataaj JACK" should be called on user login. Probably don't need to run "aataaj stop" on | ||
26 | user logout. | 38 | user logout. |
27 | 39 | ||
40 | It starts up JACK and friends, and creates JACK devices for all the | ||
41 | things "aataaj start" found. It creates the cloop and ploop devices that | ||
42 | catch everything ALSA does. Then creates MIDI devices for all your | ||
43 | joysticks. | ||
44 | |||
45 | |||
28 | Alas ~/.asoundrc doesn't understand ~ or $HOME, or even "try the current | 46 | Alas ~/.asoundrc doesn't understand ~ or $HOME, or even "try the current |
29 | directory" it seems. So you have to hard code the path. Make sure your | 47 | directory" it seems. So you have to hard code the path. Make sure your |
30 | ~/.asoundrc includes something like this (an example is included) - | 48 | ~/.asoundrc or /etc/asoundrc includes something like this - |
31 | 49 | ||
32 | </var/lib/JOAD/asoundrc> | 50 | </var/lib/aataaj/asoundrc> |
33 | 51 | ||
34 | jackscanall scans for your sound devices and creates | ||
35 | /var/lib/JOAD/asoundrc. Run jackscanall once as root to create that | ||
36 | file, and each time you need to change your devices. | ||
37 | 52 | ||
38 | jackonall starts up JACK and friends, and creates JACK devices for all | ||
39 | the things jackscanall found. It creates the cloop and ploop devices | ||
40 | that catch everything ALSA does. Then creates MIDI devices for all your | ||
41 | joysticks. | ||
42 | 53 | ||
43 | jackoffall closes down everything jackonall started up. | 54 | "aataaj stop" closes down everything "aataaj JACK" started up. |
55 | |||
44 | 56 | ||
45 | NOTE - Seems both ALSA and JACK are per user. So you need to run | ||
46 | jackonall and jackoffall for each user. | ||
47 | 57 | ||
48 | TODO - Leave it running, and hotplug ALSA / asound audio devices. | 58 | TODO - Leave it running, and hotplug ALSA / asound audio devices. |
49 | a2jmidid takes care of hotplugging MIDI devices. | 59 | a2jmidid takes care of hotplugging MIDI devices. |
50 | Though I think I still need to deal with hotplugged joysticks. | 60 | Though I think I still need to deal with hotplugged joysticks. |
61 | |||
62 | NOTE - Seems both ALSA and JACK are per user. So you need to run | ||
63 | "aataaj JACK" for each user. | ||