initial commit, hope i didnt push any keys :P

This commit is contained in:
anne
2023-02-07 17:46:01 +01:00
commit 1416a35df1
362 changed files with 7234 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
extends AudioStreamPlayer
class_name AudioArrayPlayer
signal all_finished()
export var queue := []
func stop():
queue.clear()
.stop()
func _ready():
self.connect("finished", self, "_finished")
func start():
if len(queue) > 0:
var new = queue[0]
if new is float:
get_tree().create_timer(new).connect("timeout", self, "_finish_delay")
return
stream = new
stream.loop
if !playing:
play()
else:
emit_signal("all_finished")
func _finish_delay():
next()
func next():
queue.pop_front()
start()
func _finished():
next()
func play_all(extra:=[]):
add_streams(extra)
start()
func add_stream(new:AudioStream):
queue.append(new)
func add_streams(new:Array):
queue.append_array(new)
+11
View File
@@ -0,0 +1,11 @@
extends Resource
class_name Alarm
export(bool) var active = true # Alarm on or off
export(Resource) var moment = Moment.new() # Time when its supposed to go off
export(bool) var snooze = true # If alarm is snoozable
export(bool) var speak_time := true
export(bool) var play_music := true
export(bool) var override_weather_music = false
export(Constants.WEATHER) var weather_music = Constants.WEATHER.SUNNY
+37
View File
@@ -0,0 +1,37 @@
extends Node
signal changed()
signal saved()
signal loaded()
var flags:Flags
func _ready():
if '--reset' in OS.get_cmdline_args():#or true:
flags = Flags.new()
save_flags()
load_flags()
if flags == null:
flags = Flags.new()
flags.connect("changed", self, "_flags_updated")
save_flags()
func load_flags(path:="user://flags.tres"):
print("load from ",path)
var newflags = ResourceLoader.load(path)
if newflags != null:
flags = newflags
flags.connect("changed", self, "_flags_updated")
emit_signal("loaded")
# print("ok")
func save_flags(path:="user://flags.tres"):
print("save to ",path)
if OK == ResourceSaver.save(path, flags):
emit_signal("saved")
# print('ok')
func _flags_updated():
emit_signal("changed")
save_flags()
+94
View File
@@ -0,0 +1,94 @@
extends Reference
class_name Constants
static func current_moment()->Moment:
var out = Moment.new()
var current = Time.get_time_dict_from_system()
out.hour = current['hour']
out.minute = current['minute']
return out
enum WEATHER { # DO NOT CHANGE THE ORDER OF THIS!!! IT MATTERS IN SOME PLACES!!
CLOUDY,
FOGGY,
PARTLYCLOUDY,
RAINY,
SNOWY,
STORMY,
SUNNY,
UNKNOWN,
}
static func celsius_to_fahrenheit(celsius:float)->float:
return (celsius * (9/5)) + 32
static func fahrenheit_to_celsius(fahrenheit:float)->float:
return (fahrenheit - 32) * 5/9
static func code_to_weather(code)->int:
return weather_codes.get(str(code), WEATHER.UNKNOWN)
const weather_color := {
WEATHER.CLOUDY: Color('9fdbff'),
WEATHER.FOGGY: Color('ff8fd5'),
WEATHER.PARTLYCLOUDY: Color('52eba1'),
WEATHER.RAINY: Color('ff9092'),
WEATHER.SNOWY: Color('d58fff'),
WEATHER.STORMY: Color('8e92ff'),
WEATHER.SUNNY: Color('e9ea29'),
WEATHER.UNKNOWN: Color('d0d0d0'),
}
static func weather_to_color(weather:int):
var out:Color = weather_color.get(weather, WEATHER.UNKNOWN)
return out
const weather_codes := {
'1000': WEATHER.SUNNY,
'1003': WEATHER.PARTLYCLOUDY,
'1006': WEATHER.CLOUDY,
'1009': WEATHER.RAINY,
'1030': WEATHER.FOGGY,
'1063': WEATHER.RAINY,
'1066': WEATHER.SNOWY,
'1069': WEATHER.SNOWY,
'1072': WEATHER.RAINY,
'1087': WEATHER.STORMY,
'1114': WEATHER.SNOWY,
'1117': WEATHER.SNOWY,
'1135': WEATHER.FOGGY,
'1147': WEATHER.FOGGY,
'1150': WEATHER.RAINY,
'1153': WEATHER.RAINY,
'1168': WEATHER.RAINY,
'1171': WEATHER.RAINY,
'1180': WEATHER.RAINY,
'1183': WEATHER.RAINY,
'1189': WEATHER.RAINY,
'1182': WEATHER.RAINY,
'1192': WEATHER.RAINY,
'1195': WEATHER.RAINY,
'1198': WEATHER.RAINY,
'1201': WEATHER.RAINY,
'1204': WEATHER.SNOWY,
'1207': WEATHER.SNOWY,
'1210': WEATHER.SNOWY,
'1213': WEATHER.SNOWY,
'1216': WEATHER.SNOWY,
'1222': WEATHER.SNOWY,
'1225': WEATHER.SNOWY,
'1237': WEATHER.SNOWY,
'1240': WEATHER.RAINY,
'1243': WEATHER.RAINY,
'1246': WEATHER.STORMY,
'1249': WEATHER.RAINY,
'1252': WEATHER.RAINY,
'1255': WEATHER.SNOWY,
'1258': WEATHER.SNOWY,
'1261': WEATHER.SNOWY,
'1264': WEATHER.SNOWY,
'1273': WEATHER.STORMY,
'1276': WEATHER.STORMY,
'1279': WEATHER.STORMY,
'1282': WEATHER.STORMY,
}
+35
View File
@@ -0,0 +1,35 @@
extends Resource
class_name Flags
export var api_key :String
export var location := "Leiden"
export var alarms := []
export var automatic_dark_mode := false
export var show_celsius := true
export var show_fahrenheit := true
export var use_12_hour_clock := true
export var prevent_sleep_mode := false
signal alarm_added(alarm)
signal alarm_removed(alarm)
func _changed():
emit_signal("changed")
func add_alarm(new:Alarm)->bool:
if not new in alarms:
alarms.append(new)
emit_signal("alarm_added", new)
_changed()
return true
return false
func remove_alarm(current:Alarm)->bool:
if current in alarms:
alarms.erase(current)
emit_signal("alarm_removed", current)
_changed()
return true
return false
+37
View File
@@ -0,0 +1,37 @@
extends Resource
class_name Moment
export(int, 0,22) var hour:int # Hour alarm should go off
export(int, 0,59) var minute:int # Minute alarm should go off
func _init(h:int=0,m:int=0):
hour = h
minute = m
func padded_minute()->String:
return str(minute).pad_zeros(2)
func padded_hour()->String:
return str(hour).pad_zeros(2)
func padded_hour_12()->String:
return str(hour_12()).pad_zeros(2)
func hour_12()->int:
return hour % 12
func to_seconds()->int:
return hour*60*60 + minute*60
func am_pm()->String:
return 'am' if is_am() else 'pm'
func is_morning()->bool:
# 5 to 12
return hour <= 11 and hour >= 5
func is_am()->bool:
return !is_pm()
func is_pm()->bool:
return hour > 11