diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 785e883..8189a07 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -330,6 +330,7 @@ text-decoration-thickness: var(--underline-dash-size); text-decoration-color: transparent; text-decoration-style: var(--border-style); + font-weight: 500; } /* visited link */ a:visited { diff --git a/src/routes/projects/small/+page.svelte b/src/routes/projects/small/+page.svelte index 3c60e5c..4b123e4 100644 --- a/src/routes/projects/small/+page.svelte +++ b/src/routes/projects/small/+page.svelte @@ -1,5 +1,8 @@ @@ -16,6 +19,63 @@

Not all of my projects are big, month-long endeavours. Some of them are short and sweet. Sometimes, they're even more rewarding than the bigger ones, because you end up with a finished 'thing' much quicker! And because I like my small projects just as much as my bigger ones, I figured it would be nice to give them a space on my website as well.

-

Or at least I would... if you had come here a bit later. There's nothing here yet.

+

There's more to come here! This page is very new and I will add things here gradually.

- \ No newline at end of file + + +

Deej0461

+

PC companion audio source controller

+

August 2024

+ + + +

This little device was inspired by one a friend of mine built his own version of: a deej volume slider panel. This thing allows you to control different applications with individual, physical, sliders. Super cool thing.

+ + + +

Except – I didn't need all these sliders, really. A single slider would be cool, I thought. You know what I really wanted? Buttons to control the audio source, because I switch between speakers and headphones constantly, and that's at least 3 clicks every time I want to switch. So I built a device based on deej, but with some expansions.

+ +

I only used few components: a HID-enabled Arduino-compatible Pro Micro with USB-C controls the whole thing. Hooked up to it are four Cherry switches and a Soldering slider I had lying around from my Daisy project, and I added two LEDs for good measure. It's all packaged into a 3D-printed enclosure I designed myself. The slider is screwed in tightly, and so is the top of the case; the key switches are clipped in from the top so they don't fall out; the Arduino and the LEDs are just hot-glued in. For extra flair, the four output buttons are marked with symbols for my outputs: two monitors, a pair of loudspeakers, and a pair of headphones. In the final device, they're arranged so that my two most frequently-used buttons are at the bottom for easier reach.

+ +

Software-wise, I set this up with the original deej software to control main volume. For the audio, I used a program called SoundSwitch. The program listened to key presses for the F21-F24 keys, which the Arduino triggers when the output keys are pressed. The red LED lights up when a key is pressed; the white LED has no assigned function. This worked pretty well, but this is no longer the setup I use, since I switched to Fedora Linux, as I needed to adapt/change the software for the new OS!

+ + + +

When pressing a keyboard's volume button, Windows raises or lowers volume in increments of 2. Fedora does 5. I found this much handier, so I stopped reaching for the slider and just defaulted to using my keyboard. This meant I didn't bother setting up the slider in Fedora. The buttons work, though, but they needed some adjustment. I think (and I might be wrong??) that Linux doesn't support function keys past F12, so I changed the Arduino script so the buttons trigger Shift + F9-F12. Instead of a separate program (which kept asking to be updated...), I now use KDE's built-in Shortcuts that trigger a script. The script is one line: pactl set-default-sink [sink-name]. The sink name is hard-coded into the file because, as extensive testing proved, Shortcuts does not allow arguments when entering a command. I currently only have two files set up: one for the primary monitor, one for the headphones.

+ +

I much prefer the setup now because it doesn't rely on third-party software anymore.

+ +

This thing is, no exaggeration, one of the handiest things I have ever built, because I use it quite literally every single day. I often switch between my monitor's speakers and my headphones, and being able to do that with the press of a single button is unbelievably handy. I don't even think about it anymore, I just reach for the buttons whenever I switch. It's a part of my routine now and I wouldn't want to miss it.

+ + + + \ No newline at end of file diff --git a/static/projects/small/deej0461/finished.webp b/static/projects/small/deej0461/finished.webp new file mode 100644 index 0000000..f5fceee Binary files /dev/null and b/static/projects/small/deej0461/finished.webp differ diff --git a/static/projects/small/deej0461/printing.webp b/static/projects/small/deej0461/printing.webp new file mode 100644 index 0000000..6fb815a Binary files /dev/null and b/static/projects/small/deej0461/printing.webp differ diff --git a/static/projects/small/deej0461/soldering.webp b/static/projects/small/deej0461/soldering.webp new file mode 100644 index 0000000..f824f3d Binary files /dev/null and b/static/projects/small/deej0461/soldering.webp differ