minor bug fixes

This commit is contained in:
Yonokid
2025-08-15 00:55:46 -04:00
parent 64ce14bd3c
commit 1d235e1571
3 changed files with 18 additions and 11 deletions

View File

@@ -812,7 +812,10 @@ class AudioEngine:
del self.sounds[sound] del self.sounds[sound]
def unload_all_sounds(self) -> None: def unload_all_sounds(self) -> None:
self.sounds.clear() sounds_to_clear = list(self.sounds.keys())
for key in sounds_to_clear:
if key in self.sounds:
del self.sounds[key]
def normalize_sound(self, sound: str, rms: float) -> None: def normalize_sound(self, sound: str, rms: float) -> None:
if sound in self.sounds: if sound in self.sounds:

View File

@@ -219,7 +219,7 @@ class TJAParser:
if item[len('SUBTITLE')] != ':': if item[len('SUBTITLE')] != ':':
region_code = (item[len('SUBTITLE'):len('SUBTITLE')+2]).lower() region_code = (item[len('SUBTITLE'):len('SUBTITLE')+2]).lower()
self.metadata.subtitle[region_code] = ''.join(item.split(':')[1:]) self.metadata.subtitle[region_code] = ''.join(item.split(':')[1:])
if '限定' in self.metadata.subtitle: if 'ja' in self.metadata.subtitle and '限定' in self.metadata.subtitle['ja']:
self.ex_data.limited_time = True self.ex_data.limited_time = True
elif item.startswith('TITLE'): elif item.startswith('TITLE'):
region_code = 'en' region_code = 'en'
@@ -300,12 +300,12 @@ class TJAParser:
self.metadata.course_data[current_diff].scorediff = int(float(score_diff)) self.metadata.course_data[current_diff].scorediff = int(float(score_diff))
for region_code in self.metadata.title: for region_code in self.metadata.title:
if '-New Audio-' in self.metadata.title[region_code] or '-新曲-' in self.metadata.title[region_code]: if '-New Audio-' in self.metadata.title[region_code] or '-新曲-' in self.metadata.title[region_code]:
self.metadata.title[region_code] = self.metadata.title[region_code].strip('-New Audio-') self.metadata.title[region_code] = self.metadata.title[region_code].replace('-New Audio-', '')
self.metadata.title[region_code] = self.metadata.title[region_code].strip('-新曲-') self.metadata.title[region_code] = self.metadata.title[region_code].replace('-新曲-', '')
self.ex_data.new_audio = True self.ex_data.new_audio = True
elif '-Old Audio-' in self.metadata.title[region_code] or '-旧曲-' in self.metadata.title[region_code]: elif '-Old Audio-' in self.metadata.title[region_code] or '-旧曲-' in self.metadata.title[region_code]:
self.metadata.title[region_code] = self.metadata.title[region_code].strip('-Old Audio-') self.metadata.title[region_code] = self.metadata.title[region_code].replace('-Old Audio-', '')
self.metadata.title[region_code] = self.metadata.title[region_code].strip('-旧曲-') self.metadata.title[region_code] = self.metadata.title[region_code].replace('-旧曲-', '')
self.ex_data.old_audio = True self.ex_data.old_audio = True
elif '限定' in self.metadata.title[region_code]: elif '限定' in self.metadata.title[region_code]:
self.ex_data.limited_time = True self.ex_data.limited_time = True

View File

@@ -84,7 +84,8 @@ class SongSelectScreen:
self.navigator.mark_crowns_dirty_for_song(self.navigator.all_song_files[str(global_data.selected_song)]) self.navigator.mark_crowns_dirty_for_song(self.navigator.all_song_files[str(global_data.selected_song)])
self.navigator.reset_items() self.navigator.reset_items()
self.navigator.get_current_item().box.get_scores() curr_item = self.navigator.get_current_item()
curr_item.box.get_scores()
self.navigator.add_recent() self.navigator.add_recent()
def on_screen_end(self, next_screen): def on_screen_end(self, next_screen):
@@ -520,6 +521,7 @@ class SongBox:
if self.hori_name is not None: if self.hori_name is not None:
self.hori_name.unload() self.hori_name.unload()
self.hori_name = None self.hori_name = None
self.is_open = False
def get_scores(self): def get_scores(self):
if self.tja is None: if self.tja is None:
@@ -1390,7 +1392,7 @@ class FileNavigator:
tja_files = self._get_tja_files_for_directory(dir_path) tja_files = self._get_tja_files_for_directory(dir_path)
# Create SongFile objects # Create SongFile objects
for i, tja_path in enumerate(sorted(tja_files)): for i, tja_path in enumerate(tja_files):
song_key = str(tja_path) song_key = str(tja_path)
if song_key not in self.all_song_files: if song_key not in self.all_song_files:
song_obj = SongFile(tja_path, tja_path.name, texture_index) song_obj = SongFile(tja_path, tja_path.name, texture_index)
@@ -1416,7 +1418,7 @@ class FileNavigator:
# Create SongFile objects for TJA files in non-boxed directories # Create SongFile objects for TJA files in non-boxed directories
tja_files = self._find_tja_files_in_directory_only(dir_path) tja_files = self._find_tja_files_in_directory_only(dir_path)
for tja_path in sorted(tja_files): for tja_path in tja_files:
song_key = str(tja_path) song_key = str(tja_path)
if song_key not in self.all_song_files: if song_key not in self.all_song_files:
try: try:
@@ -1481,6 +1483,8 @@ class FileNavigator:
if self.favorite_folder is None: if self.favorite_folder is None:
raise Exception("tried to enter favorite folder without favorites") raise Exception("tried to enter favorite folder without favorites")
self._generate_objects_recursive(self.favorite_folder.path) self._generate_objects_recursive(self.favorite_folder.path)
tja_files = self._get_tja_files_for_directory(self.favorite_folder.path)
self._calculate_directory_crowns(dir_key, tja_files)
selected_item.box.tja_count_text = None selected_item.box.tja_count_text = None
selected_item.box.tja_count = self._count_tja_files(self.favorite_folder.path) selected_item.box.tja_count = self._count_tja_files(self.favorite_folder.path)
content_items = self.directory_contents[dir_key] content_items = self.directory_contents[dir_key]
@@ -1625,7 +1629,7 @@ class FileNavigator:
all_scores = dict() all_scores = dict()
crowns = dict() crowns = dict()
for tja_path in sorted(tja_files): for tja_path in tja_files:
song_key = str(tja_path) song_key = str(tja_path)
if song_key in self.all_song_files: if song_key in self.all_song_files:
song_obj = self.all_song_files[song_key] song_obj = self.all_song_files[song_key]
@@ -1727,7 +1731,7 @@ class FileNavigator:
if hash_val in global_data.song_hashes: if hash_val in global_data.song_hashes:
file_path = Path(global_data.song_hashes[hash_val][0]["file_path"]) file_path = Path(global_data.song_hashes[hash_val][0]["file_path"])
if file_path.exists(): if file_path.exists() and file_path not in tja_files:
tja_files.append(file_path) tja_files.append(file_path)
else: else:
# Try to find by title and subtitle # Try to find by title and subtitle