Archive for January 16th, 2017
Some experience suggested different default stations & volume settings for the streamers in various rooms, so the Python code now parses its command line to determine how to configure itself:
import argparse as args cmdline = args.ArgumentParser(description='Streaming Radio Player',epilog='KE4ZNU - http://softsolder.com') cmdline.add_argument('Loc',help='Location: BR1 BR2 ...',default='any',nargs='?') args = cmdline.parse_args()
I should definitely pick a different variable name to avoid the obvious clash.
With that in hand, the customization takes very effort:
CurrentKC = 'KEY_KP7' MuteDelay = 8.5 # delay before non-music track; varies with buffering UnMuteDelay = 7.5 # delay after non-music track MixerVol = '15' # mixer gain Location = vars(args)['Loc'].upper() print 'Player location: ',Location logging.info('Player setup for: ' + Location) if Location == 'BR1': CurrentKC = 'KEY_KPDOT' MixerVol = '10' elif Location == 'BR2': MuteDelay = 6.0 UnMuteDelay = 8.0 MixerVol = '5'
Location = vars() idiom returns a dictionary of all the variables and their values, of which there’s only one at the moment. The rest of the line extracts the value and normalizes it to uppercase.
Now we can poke the button and get appropriate music without having to think very hard.
Life is good!
The Python source code, which remains in dire need of refactoring, as a GitHub Gist: