first commit

This commit is contained in:
Aethor 2021-06-06 00:34:59 +02:00
parent 3d5746ccaa
commit ffeb6cc854
5 changed files with 52 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*~

2
jingles/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

25
next_song.py Normal file
View File

@ -0,0 +1,25 @@
#!/usr/bin/python3
import random, glob, os, json
if __name__ == "__main__":
script_dir = os.path.dirname(os.path.abspath(__file__))
if not os.path.isfile(f"{script_dir}/state.json"):
# create state file if it doesnt exist
with open(f"{script_dir}/state.json", "w") as f:
state = {"current_song_type": "jingle"}
json.dump(state, f, indent=4)
else:
with open(f"{script_dir}/state.json") as f:
state = json.load(f)
if state["current_song_type"] == "song":
state["current_song_type"] = "jingle"
print(random.choice(glob.glob(f"{script_dir}/jingles/*.ogg")))
elif state["current_song_type"] == "jingle":
state["current_song_type"] = "song"
print(random.choice(glob.glob(f"{script_dir}/songs/*.ogg")))
else:
exit(1)

2
songs/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

22
yt_sync.py Normal file
View File

@ -0,0 +1,22 @@
import os
import youtube_dl
if __name__ == "__main__":
script_dir = os.path.dirname(os.path.abspath(__file__))
ydl = youtube_dl.YoutubeDL(
{
"format": "bestaudio/best",
"postprocessors": [
{"key": "FFmpegExtractAudio", "preferredcodec": "vorbis"}
],
"outtmpl": f"{script_dir}/songs/%(title)s.ogg",
"ignoreerrors": True,
"restrictfilenames": True,
}
)
playlist_infos = ydl.extract_info(
"https://www.youtube.com/playlist?list=PLQC73oq6JtgyYNOeifrJXXzZ1-F0Kgmbg",
)