Move patterns to separate patterns.json file
This commit is contained in:
25
patterns.json
Normal file
25
patterns.json
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"on": {},
|
||||||
|
"off": {},
|
||||||
|
"rainbow": {
|
||||||
|
"Step Rate": "n1"
|
||||||
|
},
|
||||||
|
"transition": {},
|
||||||
|
"chase": {
|
||||||
|
"Colour 1 Length": "n1",
|
||||||
|
"Colour 2 Length": "n2",
|
||||||
|
"Step 1": "n3",
|
||||||
|
"Step 2": "n4"
|
||||||
|
},
|
||||||
|
"pulse": {
|
||||||
|
"Attack": "n1",
|
||||||
|
"Hold": "n2",
|
||||||
|
"Decay": "n3"
|
||||||
|
},
|
||||||
|
"circle": {
|
||||||
|
"Head Rate": "n1",
|
||||||
|
"Max Length": "n2",
|
||||||
|
"Tail Rate": "n3",
|
||||||
|
"Min Length": "n4"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,8 +9,8 @@
|
|||||||
"colors": [
|
"colors": [
|
||||||
"#968a00"
|
"#968a00"
|
||||||
],
|
],
|
||||||
"brightness": 57,
|
"brightness": 39,
|
||||||
"pattern": "on",
|
"pattern": "rainbow",
|
||||||
"delay": 99,
|
"delay": 99,
|
||||||
"n1": 10,
|
"n1": 10,
|
||||||
"n2": 10,
|
"n2": 10,
|
||||||
@@ -69,10 +69,11 @@
|
|||||||
},
|
},
|
||||||
"off": {
|
"off": {
|
||||||
"colors": [
|
"colors": [
|
||||||
"#000000"
|
"#0000ff",
|
||||||
|
"#ff0000"
|
||||||
],
|
],
|
||||||
"delay": 99,
|
"delay": 10000,
|
||||||
"n1": -17,
|
"n1": 10,
|
||||||
"n2": 10,
|
"n2": 10,
|
||||||
"n3": 10,
|
"n3": 10,
|
||||||
"n4": 10,
|
"n4": 10,
|
||||||
@@ -136,7 +137,7 @@
|
|||||||
"#ff0000"
|
"#ff0000"
|
||||||
],
|
],
|
||||||
"brightness": 39,
|
"brightness": 39,
|
||||||
"pattern": "on",
|
"pattern": "circle",
|
||||||
"delay": 10000,
|
"delay": 10000,
|
||||||
"n1": 10,
|
"n1": 10,
|
||||||
"n2": 10,
|
"n2": 10,
|
||||||
@@ -200,7 +201,7 @@
|
|||||||
"#0000ff",
|
"#0000ff",
|
||||||
"#ff0000"
|
"#ff0000"
|
||||||
],
|
],
|
||||||
"delay": 399,
|
"delay": 10000,
|
||||||
"n1": 10,
|
"n1": 10,
|
||||||
"n2": 10,
|
"n2": 10,
|
||||||
"n3": 10,
|
"n3": 10,
|
||||||
@@ -236,7 +237,7 @@
|
|||||||
"#00ff00"
|
"#00ff00"
|
||||||
],
|
],
|
||||||
"delay": 1778,
|
"delay": 1778,
|
||||||
"n1": 10,
|
"n1": 20,
|
||||||
"n2": 40,
|
"n2": 40,
|
||||||
"n3": 40,
|
"n3": 40,
|
||||||
"n4": 0
|
"n4": 0
|
||||||
@@ -843,30 +844,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"patterns": {
|
|
||||||
"on": {},
|
|
||||||
"off": {},
|
|
||||||
"rainbow": {
|
|
||||||
"Step Rate": "n1"
|
|
||||||
},
|
|
||||||
"transition": {},
|
|
||||||
"chase": {
|
|
||||||
"Colour 1 Length": "n1",
|
|
||||||
"Colour 2 Length": "n2",
|
|
||||||
"Step 1": "n3",
|
|
||||||
"Step 2": "n4"
|
|
||||||
},
|
|
||||||
"pulse": {
|
|
||||||
"Attack": "n1",
|
|
||||||
"Hold": "n2",
|
|
||||||
"Decay": "n3"
|
|
||||||
},
|
|
||||||
"circle": {
|
|
||||||
"Head Rate": "n1",
|
|
||||||
"Max Length": "n2",
|
|
||||||
"Tail Rate": "n3",
|
|
||||||
"Min Length": "n4"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
17
src/main.py
17
src/main.py
@@ -46,6 +46,7 @@ def slider_to_delay(slider_value):
|
|||||||
class App:
|
class App:
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.settings = Settings()
|
self.settings = Settings()
|
||||||
|
self.patterns = self.load_patterns()
|
||||||
self.root = tk.Tk()
|
self.root = tk.Tk()
|
||||||
self.root.attributes("-fullscreen", True)
|
self.root.attributes("-fullscreen", True)
|
||||||
self.root.configure(bg=bg_color)
|
self.root.configure(bg=bg_color)
|
||||||
@@ -95,11 +96,21 @@ class App:
|
|||||||
|
|
||||||
async_mainloop(self.root)
|
async_mainloop(self.root)
|
||||||
|
|
||||||
|
def load_patterns(self):
|
||||||
|
"""Load patterns from patterns.json file."""
|
||||||
|
try:
|
||||||
|
with open("patterns.json", 'r') as file:
|
||||||
|
patterns = json.load(file)
|
||||||
|
print("Patterns loaded successfully.")
|
||||||
|
return patterns
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error loading patterns: {e}")
|
||||||
|
return {}
|
||||||
|
|
||||||
def get_n_parameter_name(self, pattern_name, n_index):
|
def get_n_parameter_name(self, pattern_name, n_index):
|
||||||
"""Get the descriptive name for an n parameter based on the pattern.
|
"""Get the descriptive name for an n parameter based on the pattern.
|
||||||
Returns None if no description exists."""
|
Returns None if no description exists."""
|
||||||
patterns_config = self.settings.get("patterns", {})
|
pattern_config = self.patterns.get(pattern_name, {})
|
||||||
pattern_config = patterns_config.get(pattern_name, {})
|
|
||||||
|
|
||||||
# Find which n parameter this index maps to
|
# Find which n parameter this index maps to
|
||||||
n_key = f"n{n_index}"
|
n_key = f"n{n_index}"
|
||||||
@@ -453,7 +464,7 @@ class App:
|
|||||||
tk.Label(patterns_frame, text="Patterns:", font=("Arial", 20), bg=bg_color, fg=fg_color).pack(pady=10)
|
tk.Label(patterns_frame, text="Patterns:", font=("Arial", 20), bg=bg_color, fg=fg_color).pack(pady=10)
|
||||||
|
|
||||||
tab.pattern_buttons = {}
|
tab.pattern_buttons = {}
|
||||||
patterns = self.settings.get("patterns", [])
|
patterns = list(self.patterns.keys())
|
||||||
for pattern_name in patterns:
|
for pattern_name in patterns:
|
||||||
button = tk.Button(
|
button = tk.Button(
|
||||||
patterns_frame,
|
patterns_frame,
|
||||||
|
|||||||
Reference in New Issue
Block a user