Handbell Manager for Mac

Mac users are a little bit behind Windows users when it comes to technology for online handbell ringing. We are catered for by Handbell Stadium, but we don't have a version of Graham John's Handbell Manager software that converts the input from motion controllers into keypresses that will drive Mabel or Ringing Room.

I have solved this problem by implementing my own simple version of Handbell Manager. It's not quite as fancy as Graham's, and in particular it doesn't have the option to draw graphs of the inputs from the controllers, but it works. You can download it here (do a control-click and select "Download linked file"). It's not really productised yet, because I haven't succeeded in packaging it up into a standalone application. But if you are willing to roll up your sleeves and do some software installation, here's how to do it.

  1. Make sure your Mac has a recent enough version of MacOS: at least 10.13 (High Sierra).
  2. Install Python 3.8.
  3. Install Homebrew.
  4. In a Terminal window, type brew install sdl sdl_image sdl_mixer sdl_ttf portmidi

  5. In a Terminal window, type pip3 install pygame==1.9.6

  6. In a Terminal window, type pip3 install pynput

  7. Plug in your controllers.

  8. In a Finder window, go to the folder where you saved HandbellManagerMac.py

  9. Right-click on HandbellManagerMac.py and select "Open with IDLE 3.8.3"

  10. In the window showing the code of HandbellManagerMac.py, press F5 (or fn-F5, depending on your keyboard).

  11. You should see an application window that looks like this:

  12. Set the Left and Right controllers so that they are the right way around.

  13. Set the Axis options to whatever you would use in single-axis mode in Handbell Stadium.

  14. Set the Handstroke and Backstroke values to whatever you would use in Handbell Stadium.

  15. Swinging the controllers should result in #Handstrokes and #Backstrokes counting upwards.

  16. Click on the window of the application that you want to ring in: Mabel, or a browser with Ringing Room. Make sure it has the "focus", i.e. it is the active window.

  17. Swinging the controllers should cause your simulated bells to sound. If using Mabel, make sure you don't have up/down key action selected (this is in Preferences / Ringing).

  18. If this doesn't work, you can try going into System Preferences, then Security and Privacy, then Privacy, then Accessibility, and in the "Allow these apps to control your computer", add IDLE (which you will find in the Python folder within Applications) and Terminal (which you will find in the Utilities folder within Applications).