|
|
@ -159,7 +159,10 @@ class MediaDetailsScreen(Screen):
|
|
|
|
|
|
|
|
|
|
|
|
# Enumerating differences between media descriptors
|
|
|
|
# Enumerating differences between media descriptors
|
|
|
|
# from file (=current) vs from stored in database (=target)
|
|
|
|
# from file (=current) vs from stored in database (=target)
|
|
|
|
|
|
|
|
try:
|
|
|
|
self.__mediaDifferences = self.__targetMediaDescriptor.compare(self.__currentMediaDescriptor) if self.__currentPattern is not None else {}
|
|
|
|
self.__mediaDifferences = self.__targetMediaDescriptor.compare(self.__currentMediaDescriptor) if self.__currentPattern is not None else {}
|
|
|
|
|
|
|
|
except ValueError:
|
|
|
|
|
|
|
|
self.__mediaDifferences = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def updateDifferences(self):
|
|
|
|
def updateDifferences(self):
|
|
|
@ -417,6 +420,43 @@ class MediaDetailsScreen(Screen):
|
|
|
|
self.query_one("#pattern_input", Input).value = pattern.replace(patternMatch.group(1), INDICATOR_PATTERN)
|
|
|
|
self.query_one("#pattern_input", Input).value = pattern.replace(patternMatch.group(1), INDICATOR_PATTERN)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if event.button.id == "select_default_button":
|
|
|
|
|
|
|
|
selectedTrack = self.getSelectedTrackDescriptor()
|
|
|
|
|
|
|
|
self.__currentMediaDescriptor.setDefaultSubTrack(selectedTrack.getType(), selectedTrack.getSubIndex())
|
|
|
|
|
|
|
|
self.updateTracks()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if event.button.id == "select_forced_button":
|
|
|
|
|
|
|
|
selectedTrack = self.getSelectedTrackDescriptor(selectedTrack.getType(), selectedTrack.getSubIndex())
|
|
|
|
|
|
|
|
self.__currentMediaDescriptor.setForcedSubTrack(selectedTrack.getType(), selectedTrack.getSubIndex())
|
|
|
|
|
|
|
|
self.updateTracks()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getSelectedTrackDescriptor(self):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not self.__pattern:
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Fetch the currently selected row when 'Enter' is pressed
|
|
|
|
|
|
|
|
#selected_row_index = self.table.cursor_row
|
|
|
|
|
|
|
|
row_key, col_key = self.tracksTable.coordinate_to_cell_key(self.tracksTable.cursor_coordinate)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if row_key is not None:
|
|
|
|
|
|
|
|
selected_track_data = self.tracksTable.get_row(row_key)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trackIndex = int(selected_track_data[0])
|
|
|
|
|
|
|
|
trackSubIndex = int(selected_track_data[2])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return self.__tc.getTrack(self.__pattern.getId(), trackIndex).getDescriptor(subIndex=trackSubIndex)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
except CellDoesNotExist:
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getSelectedShow(self):
|
|
|
|
def getSelectedShow(self):
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|