Technical Overview

Project is the successor of GhettoRecorder and shall provide a database and HTML frontEnd.

How is this wired?

Flask server is divided by two routes, home and utils. To separate start page from “Tools” and “About”.

Home

indexStructure.txt:

Project overview for raw div structure of start page to jump fast in and around.

canvas.js:

animation of the canvas itself to detach the canvas window and make a small show on reconnect

index.js:

init stuff and rec and listen traffic of browser to server, dark mode, toggle …

playlist.js:

Functions to run the local playlist feature with for-/backward controls

radioStyles.js:

full html css decoration for full animation and low for base, some decoration for recording

svgAnimation.js:

inkscape inline svg images animated in comic style (zeppelin, checkered balloon, floe by night)

Utils

bp_utils.js:

auto button press to hide buttons, write fake lists with parent, child divs to color log files, edit/delete blacklists, switch divs to show different tools options

The db access is accomplished with pure sql. There was an attempt to switch to ORM, but the app will be a reference for sql.

To show how to start a project with ORM, a side project Python package was created “Flask-SQLAlchemy-Project-Template 1.1”.

All animations can be fully or partial disabled to run the app on small devices. Playlist option with for-/backward controls available.

Python modules for:

monitor recordings: write grabbed files into blacklists, lists can be edited

Aac file repair:

needed to fix incorrectly recorded aac files (no timer used to quit), so playlist not stuck

Export and Import:

radio settings with ini files blacklists with json files, dictionary style

delete all:

delete all radio table rows to restore from exported ini file