Adds pattern quality UI field

dev
Javanaut 1 month ago
parent 2eeea08be0
commit c354ba09ba

@ -30,6 +30,15 @@ class AudioLayout(Enum):
except: except:
return AudioLayout.LAYOUT_UNDEFINED return AudioLayout.LAYOUT_UNDEFINED
# @staticmethod
# def fromIndex(index : int):
# try:
# target_index = int(index)
# except (TypeError, ValueError):
# return AudioLayout.LAYOUT_UNDEFINED
# return next((a for a in AudioLayout if a.value['index'] == target_index),
# AudioLayout.LAYOUT_UNDEFINED)
@staticmethod @staticmethod
def fromIndex(index : int): def fromIndex(index : int):
try: try:

@ -31,9 +31,11 @@ class Pattern(Base):
tracks = relationship('Track', back_populates='pattern', cascade="all, delete", lazy='joined') tracks = relationship('Track', back_populates='pattern', cascade="all, delete", lazy='joined')
media_tags = relationship('MediaTag', back_populates='pattern', cascade="all, delete", lazy='joined') media_tags = relationship('MediaTag', back_populates='pattern', cascade="all, delete", lazy='joined')
quality = Column(Integer, default=0)
def getId(self): def getId(self):
return int(self.id) return int(self.id)

@ -49,6 +49,7 @@ class PatternController():
pattern.show_id = int(patternObj['show_id']) pattern.show_id = int(patternObj['show_id'])
pattern.pattern = str(patternObj['pattern']) pattern.pattern = str(patternObj['pattern'])
pattern.quality = str(patternObj['quality'])
s.commit() s.commit()
return True return True

@ -40,7 +40,7 @@ class PatternDetailsScreen(Screen):
Grid { Grid {
grid-size: 7 13; grid-size: 7 13;
grid-rows: 2 2 2 2 2 8 2 2 8 2 2 2 2; grid-rows: 2 2 2 2 2 2 8 2 2 8 2 2 2 2;
grid-columns: 25 25 25 25 25 25 25; grid-columns: 25 25 25 25 25 25 25;
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -255,6 +255,9 @@ class PatternDetailsScreen(Screen):
self.query_one("#pattern_input", Input).value = str(self.__pattern.getPattern()) self.query_one("#pattern_input", Input).value = str(self.__pattern.getPattern())
if self.__pattern and self.__pattern.quality:
self.query_one("#quality_input", Input).value = str(self.__pattern.quality)
self.updateTags() self.updateTags()
self.updateTracks() self.updateTracks()
@ -301,6 +304,12 @@ class PatternDetailsScreen(Screen):
# 3 # 3
yield Static(" ", classes="seven") yield Static(" ", classes="seven")
# 4
yield Static("Quality")
yield Input(type="integer", id="quality_input")
yield Static(' ', classes="five")
# 4 # 4
yield Static(" ", classes="seven") yield Static(" ", classes="seven")
@ -367,6 +376,11 @@ class PatternDetailsScreen(Screen):
def getPatternFromInput(self): def getPatternFromInput(self):
return str(self.query_one("#pattern_input", Input).value) return str(self.query_one("#pattern_input", Input).value)
def getQualityFromInput(self):
try:
return int(self.query_one("#quality_input", Input).value)
except ValueError:
return 0
def getSelectedTrackDescriptor(self): def getSelectedTrackDescriptor(self):
@ -428,6 +442,7 @@ class PatternDetailsScreen(Screen):
patternDescriptor = {} patternDescriptor = {}
patternDescriptor['show_id'] = self.__showDescriptor.getId() patternDescriptor['show_id'] = self.__showDescriptor.getId()
patternDescriptor['pattern'] = self.getPatternFromInput() patternDescriptor['pattern'] = self.getPatternFromInput()
patternDescriptor['quality'] = self.getQualityFromInput()
if self.__pattern is not None: if self.__pattern is not None:

Loading…
Cancel
Save