Documentation - GhettoRecorder
Grab hundreds of radio stations simultaneously.
How to run installed package
GhettoRecorder class module (example in ghetto_procenv).:
from ghettorecorder import GhettoRecorder
ghetto_01 = GhettoRecorder(radio, url)
ghetto_01.com_in = mp.Queue(maxsize=1) # eval exec communication for multiprocessing
ghetto_01.audio_out = mp.Queue(maxsize=1) # can also be normal queue.Queue()
Commandline option (calls cmd.py).:
ghetto_cmd or
python3 -m ghettorecorder.cmd
Client Server option (calls __main__.py).:
ghetto_url or
python3 -m ghettorecorder
Overview
Queue communication. Multiprocessor ready.
GhettoRecorder class has connector attributes for external modules.
External modul Blacklisting recorded titles is already included.
Optional Browser Frontend on Python multithreading HTTP server.
Links
Issues to fix: https://github.com/44xtc44/GhettoRecorder/issues
ReadTheDocs: https://ghettorecorder.readthedocs.io/ (see module index)
Configuration File
‘Settings.ini’ is the config file for GhettoRecorder. INI files consist of sections to divide different settings.:
[STATIONS]
anime_jp = http://streamingv2.shoutcast.com/japanimradio-tokyo
[GLOBAL]
blacklist_enable = True
save_to_dir = f:\54321
Usage
Set path to config
Write Path to settings.ini and blacklist.json file
Enter a new path, OS syntax (f:\10 or /home ) -->: F:\44
created: F:\44
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True'}
Hit Enter to leave -->:
aac file repair
Write a path to aac files. Only aac files will be touched.
..settings.ini [GLOBAL] section: {'blacklist_enable': 'True', 'save_to_dir': 'f:\\31'}
Enter a path, OS syntax (f:\10 or /home ) -->:f:\6aac
created: f:\6aac
f:\6aac\aac_repair created
[ COPY(s) in f:\6aac\aac_repair ]
----- 1 file(s) failed -----
f:\6aac\Sergey Sirotin & Golden Light Orchestra - Around The World.aacp
ValueError non-hexadecimal number found in fromhex() arg at position 5438113
----- 97 file(s) repaired -----
f:\6aac\111_Slovo_Original_Mix.aac; cut(bytes): [330]
f:\6aac\351 Lake Shore Drive - You Make My Day.aacp; cut(bytes): [389]
Pip Install
""" Linux """
$ pip3 install ghettorecorder
""" Windows """
> pip install ghettorecorder
Uninstall
Python user
find the module location
uninstall and then remove remnants
remove:
>$ pip3 show ghettorecorder
>$ pip3 uninstall ghettorecorder
Location: … /python310/site-packages
GhettoRecorder module
Communication with the GhettoRecorder instance
port
action
description
com_in
commands input
tuple (radio, [str ‘eval’ or ‘exec’], str ‘command’)
com_out
status, err msg
(radio, [str ‘eval’ or ‘exec’], response)
audio_out
copy of html resp
server can loop through to a browser
Feature attributes to switch on/off
attribute
description
runs_meta
call metadata periodically, create path for rec out; False: recorder is the file
runs_record
disable writing to recorder file at all
recorder_file_write
allow dumping current recorder file
runs_listen
disable write to audio output queue; 3rd party can grab it. (listen blacklist)
Snapcraft package
The installer creates an icon with the name “GhettoRecorder”. You can use two command line options.:
ghettorecorder.url
ghettorecorder.cmd
First is Client, Server connection. Second is command line menu.