A better way to create a volume adjuster

It didn’t take long after writing my latest blog post before some nice reader showed me a better way to create a costum volume adjuster. If you havn’t already read that post and don’t want to, the premise is that unlike an Ibook and a Powerbook there are no keys on the keyboard that adjust volume on other MorphOS compatible computers. Therefore you need to create them yourself (unless you are OK with changing volume all the time with the mouse). My last try was using Shell commands in a costum made menu using Crabum. The downside was that it only worked in Ambient screen.

I got the suggestion to use an old program called MFKey instead. You can download it from here (Aminet). Unpack it to RAM: and open the drawer:

mfkey_ram

Click on the mfkey icon:

mfkey_first_start

Lets create a “volume up” key. We click on the Add button on the right, Choose Type –> Cli at the bottom, Cmd: SetMixer OUTPUT VOLUMEADJUST=3 >NIL: and then click on the Key row. I want different keys from last time (some that make a little more sense) so I pressed Left Amiga (Left Command, hereby called LA) + Page up. Now it looks like this:

mfkey_volume_up

We are going to add some more commands (5 more to be exact):

  • Volume down: Key: LA + Page down. Cli Cmd: SetMixer OUTPUT VOLUMEADJUST=-3 >NIL:
  • Volume Half: Key: LA + End. Cli Cmd: SetMixer OUTPUT VOLUME=50 >NIL:
  • Volume Full: Key: LA + Home. Cli Cmd: SetMixer OUTPUT VOLUME=100 >NIL:
  • UnMute: Key: LA + Insert. Cli Cmd: SetMixer MUTE=OFF >NIL:
  • Mute: Key: LA + Del. Cli Cmd: SetMixer MUTE=ON >NIL:

mfkey_all_done

I’m gonna use what I wrote on my last blog post to explain what these different CLI/Shell command does:

VOLUMEADJUST will adjust the volume between 1% and 100% at the time (100% being full volume). VOLUME will jump to the setting written, 50 being half. This is very good to have when you suddenly realise you have the speakers on way too loud. Having another for 100 is also pretty handy, instead of rasing the volume 3% at the time. Then we have MUTE=ON/OFF. This is not the same as VOLUME=0 and VOLUME=100. When you write the latter it will set these volumes as current default. So if you go from 75% to 0% volume and want to go back to 75%, you will have to do this manually. Using MUTE will kill the volume, and then go back to whatever volume you had before when turning MUTE off.

Lets save it. If everything works as it should, now the six keys above the arrow keys should work as volume adjuster when pressing LA + any of those keys, and that on every screen. Since I don’t need the volume adjuster I made with Crabum anymore I removed it which does look nicer.

You can copy mfkey to WBstartup so it runs every time you reboot (you can also run it from s:user-startup of course, read the guide). If you do put it in WBstartup, whenever you reboot the program it will pop up. This is annoying. So right click on the icon and choose Information. Now you should see this:

mfkey_icon_before

Click on the Attribute line CX_POPUP and rename it to (CX_POPUP):

mfkey_icon_after

Click on save and reboot. Now everything should work and you now have an even more practical way to change volume than my last blog post proposed. Thanks Batteman for the suggestion!