{"id":13529209,"url":"https://github.com/ael/piclock_advanced","last_synced_at":"2025-04-01T15:30:40.350Z","repository":{"id":215184449,"uuid":"230922332","full_name":"ael/piclock_advanced","owner":"ael","description":"Clock / Infoscreen for radiostudios","archived":false,"fork":false,"pushed_at":"2023-03-20T12:48:24.000Z","size":12141,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-02T15:36:33.265Z","etag":null,"topics":["broadcast","infoscreen","radio","studioclock"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-12-30T13:38:34.000Z","updated_at":"2024-09-27T00:14:25.000Z","dependencies_parsed_at":"2024-01-07T12:51:49.710Z","dependency_job_id":null,"html_url":"https://github.com/ael/piclock_advanced","commit_stats":null,"previous_names":["ael/piclock_advanced"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ael%2Fpiclock_advanced","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ael%2Fpiclock_advanced/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ael%2Fpiclock_advanced/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ael%2Fpiclock_advanced/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ael","download_url":"https://codeload.github.com/ael/piclock_advanced/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246662230,"owners_count":20813709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["broadcast","infoscreen","radio","studioclock"],"created_at":"2024-08-01T07:00:34.343Z","updated_at":"2025-04-01T15:30:39.267Z","avatar_url":"https://github.com/ael.png","language":"Python","funding_links":[],"categories":["Clocks \u0026 Studio Screens"],"sub_categories":[],"readme":"PiClock Advanced / Studio Infoscreen\n================\nClock / Infoscreen for radiostudios  \nBasically this is just a modified and extended Version of this one: (https://github.com/jdgwarren/pirsclockfull)\n\n## Description - what does this thing?\n\nYou can see a clock with the typical LED ring for the seconds and some areas for signalisation of different things like mic, phone, door or whatever you want. You can configure the text and the colors the indicators will light up with easily on your own. \n\nIf the mic is open, a talk timer ist counting up. It stops as soon as the mic is closed. If the mic is opened again, the timer will be reset and starts counting up again. Good to avoid those talks from hell ;)  \nIn the top left corner there is an indicator, that could show which studio or source is currently broadcasting. In our case we get this information from the audio router. If the on air source corresponds with the studio the current infoscreen is associated to, the colour changes from red font on black backgound to white font on red background. But this is configurable. So you see clearly if the Studio you are in is the on air studio. And if not, you see which studio is the on air studio but in a more subtle color.  \nOn the bottom you can show the song information of the song that ist currently playing, or also something else. You just have to set the right path.\nBoth information, the onair info and the song info is polled from textfiles. I'm still testing if the constantly reading of the files is a problem. Maybe there is a better solution. Currently those two files are being read multiple times a second. There must be a better solution... ;)\u003cbr /\u003e\n**Update:**\u003cbr /\u003e\nYes there is a better solution. If you set the variable \"useudpbroadcast\" to True, the constantly polling of the textfiles is switched off. There is just one poll after startup. After that the script is waiting for UDP broadcast messages. We generate them with a powershell script. You will find it under my repos as well.\u003cbr /\u003e\nWhy UDP broadcast? It was the easiest way to get the message to multiple displays. And it runs much more stable that the file polling method. The clock often used to hang. This seems not to happen with the UDP method.\n\nCurrently there could also be found an indicator named \"Pegel\" in the code which is german for \"level\". In this case audio level of course. It has no function yet and is commented out. Maybe it's possible to get the audio level of the associated studio via a small USB soundcard and let the indicator light up if the audio level is to high. The soundprocessing doesn't like getting driven with too much input level. I haven't looked into that, but would be nice.\nBut you can also use it as a 4th indicator with one of the GPIs, no problem, the code is still there.\n\n## Some pictures\n\nYAY, I finally made some pictures of the Infoscreen, so you can get an impression of that thingy:\n\nThis is the screen in our Studio 2 when it is off air:\n![Studio 2 offair](/pictures/infoscreen_offair.jpg)\nCurrent broadcasting source is \"Loop/Zara\".\n\nThis is the screen when Studio 2 is onair:\n![Studio 2 onair](/pictures/infoscreen_onair.jpg)\nSee also the change of the songinfo on the bottom. When the broadcasting source changes, also the source of the songinfo changes. But that is handeled in the audio router, the infoscrren is just showing the result.\n\nHere the mic is on and the mic timer is running:\n![Studio 2 Mic on](/pictures/infoscreen_mic.jpg)\n\nSomeone is calling on the phone:\n![Studio 2 phone ringing](/pictures/infoscreen_tel.jpg)\nHere you also can see the stopped mic timer when mic is closed.\n\nThe TÜR (door) indicator would light up in blue, but I was too lazy and it was cold outside ;) And the colour is configurable anyway.\nOf course all the indicators can light up simultaneuosly.\n\n## How to use?\n### Prerequisites\n\n - PyGame\n    Because PyGame is used to render the output.\n - xServer\n    Because a graphical interface is needed to present the output of PyGame.\n\nSo just use the normal PiOS-Image. Everything will rund out of the box. \nIf you use the minimal image, you have to install a lot of additional things to get the clock running.\n\n### How to install?\n\n- Just clone the repo\n- Start the piclock-advanced.py with sudo. Otherwise you won't have access to the GPIO-Pins.\n        sudo python piclock-advanced.py\n- You do not necessarily need the other files besides the python file. You can delete them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fael%2Fpiclock_advanced","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fael%2Fpiclock_advanced","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fael%2Fpiclock_advanced/lists"}