audio-tuner-gui 0.10.0__py3-none-any.whl → 0.11.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. audio_tuner_gui/__init__.py +1 -1
  2. audio_tuner_gui/analysis.py +107 -81
  3. audio_tuner_gui/common.py +77 -25
  4. audio_tuner_gui/file_selector.py +71 -21
  5. audio_tuner_gui/icons/fallback/README +4 -0
  6. audio_tuner_gui/icons/fallback/application-exit.svg +457 -0
  7. audio_tuner_gui/icons/fallback/audio-card.svg +434 -0
  8. audio_tuner_gui/icons/fallback/audio-x-generic.svg +180 -0
  9. audio_tuner_gui/icons/fallback/dialog-warning.svg +373 -0
  10. audio_tuner_gui/icons/fallback/document-save.svg +619 -0
  11. audio_tuner_gui/icons/fallback/edit-delete.svg +896 -0
  12. audio_tuner_gui/icons/fallback/folder.svg +424 -0
  13. audio_tuner_gui/icons/fallback/format-justify-left.svg +271 -0
  14. audio_tuner_gui/icons/fallback/go-home.svg +445 -0
  15. audio_tuner_gui/icons/fallback/go-next.svg +192 -0
  16. audio_tuner_gui/icons/fallback/go-previous.svg +854 -0
  17. audio_tuner_gui/icons/fallback/go-up.svg +196 -0
  18. audio_tuner_gui/icons/fallback/media-playback-pause.svg +641 -0
  19. audio_tuner_gui/icons/fallback/media-playback-start.svg +319 -0
  20. audio_tuner_gui/icons/fallback/media-playback-stop.svg +651 -0
  21. audio_tuner_gui/icons/fallback/media-seek-backward.svg +374 -0
  22. audio_tuner_gui/icons/fallback/media-seek-forward.svg +383 -0
  23. audio_tuner_gui/icons/fallback/preferences-system.svg +398 -0
  24. audio_tuner_gui/icons/fallback/process-stop.svg +336 -0
  25. audio_tuner_gui/option_panel.py +49 -21
  26. audio_tuner_gui/scripts/tuner_gui.py +137 -21
  27. {audio_tuner_gui-0.10.0.dist-info → audio_tuner_gui-0.11.1.dist-info}/METADATA +4 -3
  28. audio_tuner_gui-0.11.1.dist-info/RECORD +45 -0
  29. audio_tuner_gui/icons/folder.png +0 -0
  30. audio_tuner_gui/icons/preferences-other.png +0 -0
  31. audio_tuner_gui/icons/process-stop.png +0 -0
  32. audio_tuner_gui-0.10.0.dist-info/RECORD +0 -28
  33. {audio_tuner_gui-0.10.0.dist-info → audio_tuner_gui-0.11.1.dist-info}/WHEEL +0 -0
  34. {audio_tuner_gui-0.10.0.dist-info → audio_tuner_gui-0.11.1.dist-info}/entry_points.txt +0 -0
  35. {audio_tuner_gui-0.10.0.dist-info → audio_tuner_gui-0.11.1.dist-info}/licenses/COPYING +0 -0
@@ -61,6 +61,7 @@ from PyQt6.QtSvgWidgets import QSvgWidget
61
61
  import audio_tuner.error_handling as eh
62
62
  import audio_tuner.common as com
63
63
  import audio_tuner.argument_parser as ap
64
+ import audio_tuner.saved_options as so
64
65
 
65
66
  import audio_tuner_gui.common as gcom
66
67
  import audio_tuner_gui.file_selector as fs
@@ -71,7 +72,10 @@ import audio_tuner_gui.display as disp
71
72
  import audio_tuner_gui.player as pl
72
73
  import audio_tuner_gui.export as ex
73
74
 
74
- from audio_tuner_gui import VERSION
75
+ from audio_tuner_gui import (
76
+ VERSION,
77
+ PKGDIR,
78
+ )
75
79
 
76
80
 
77
81
  APP_TITLE = 'Audio Tuner'
@@ -89,21 +93,22 @@ License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
89
93
  This is free software: you are free to change and redistribute it.
90
94
  There is NO WARRANTY, to the extent permitted by law.
91
95
 
92
- Folder, Options, and Process Stop icons from the
93
- Adwaita icon theme, by the GNOME Project.
94
- <https://download.gnome.org/sources/adwaita-icon-theme/>
95
- Copyright \N{COPYRIGHT SIGN} 2002-2014
96
- License: CC-BY-SA-3.0 or LGPL-3
97
- <https://creativecommons.org/licenses/by-sa/3.0/>
98
- <https://gnu.org/licenses/lgpl-3.0.html>
96
+ Fallback icons from the Tango icon theme
97
+ Source: https://git.golem.linux.it/matteobin/tango-icon-theme
98
+ License: CC0-1.0
99
99
  """
100
100
 
101
101
  VERSION_STRING = f'tuner-gui ({APP_TITLE}) {VERSION}\n{ABOUT_TEXT}'
102
102
 
103
103
  DEBUG_BUTTON = False
104
104
 
105
+ ICON_FALLBACK_PATH = os.path.join(PKGDIR, 'icons/fallback/')
106
+
105
107
  class _AboutWindow(QWidget):
106
- def __init__(self, parent):
108
+ def __init__(self,
109
+ parent,
110
+ config_path: str = ap.CONFIG_PATH,
111
+ savefile_path: str = ap.SAVEFILE_PATH):
107
112
  super().__init__(parent)
108
113
 
109
114
  self.setWindowFlag(Qt.WindowType.Window)
@@ -116,7 +121,8 @@ class _AboutWindow(QWidget):
116
121
  self.text.setTextInteractionFlags(
117
122
  Qt.TextInteractionFlag.TextSelectableByMouse)
118
123
 
119
- self.config_text = QLabel('Config file path:\n' + ap.CONFIG_PATH, self)
124
+ self.config_text = QLabel('Config file path:\n' + config_path
125
+ + '\n\nSave file path:\n' + savefile_path, self)
120
126
  self.config_text.setCursor(Qt.CursorShape.IBeamCursor)
121
127
  self.config_text.setTextInteractionFlags(
122
128
  Qt.TextInteractionFlag.TextSelectableByMouse)
@@ -215,6 +221,28 @@ class _MainUI(QMainWindow):
215
221
  self.exit_act.setStatusTip('Exit application')
216
222
  self.exit_act.triggered.connect(QApplication.instance().quit)
217
223
 
224
+ self.save_act = QAction(QIcon.fromTheme(gcom.ICON_SAVE),
225
+ '&Save options',
226
+ self)
227
+ self.save_act.setShortcut(QKeySequence('Ctrl+S'))
228
+ self.save_act.setStatusTip(
229
+ 'Save the options of the currently selected analyzed audio')
230
+ self.save_act.triggered.connect(self._save)
231
+
232
+ self.reload_saved_act = QAction('&Reload saved options')
233
+ self.reload_saved_act.setStatusTip('Load the saved options for the'
234
+ ' currently selected analyzed'
235
+ ' audio into the option panel')
236
+ self.reload_saved_act.triggered.connect(self._reload_saved)
237
+
238
+ self.delete_saved_act = QAction(QIcon.fromTheme(gcom.ICON_DEL),
239
+ '&Delete saved options',
240
+ self)
241
+ self.delete_saved_act.setStatusTip(
242
+ 'Delete the saved options of the'
243
+ ' currently selected analyzed audio')
244
+ self.delete_saved_act.triggered.connect(self._delete_saved)
245
+
218
246
  self.showhidden_act = QAction('Show &hidden files', self)
219
247
  self.showhidden_act.setCheckable(True)
220
248
  self.showhidden_act.setShortcut(QKeySequence('Ctrl+H'))
@@ -224,19 +252,19 @@ class _MainUI(QMainWindow):
224
252
  self.play_start_end_act.setCheckable(True)
225
253
  self.play_start_end_act.toggled.connect(self._play_start_end_toggled)
226
254
 
227
- self.toggle_options_panel_act = QAction('Show &options panel', self)
255
+ self.toggle_options_panel_act = QAction('Show &option panel', self)
228
256
  self.toggle_options_panel_act.setCheckable(True)
229
257
  self.toggle_options_panel_act.setChecked(False)
230
258
  self.toggle_options_panel_act.setShortcut('F2')
231
259
  self.toggle_options_panel_act.setStatusTip(
232
- 'Switch between file selector and options panel')
260
+ 'Switch between file selector and option panel')
233
261
  self.toggle_options_panel_act.triggered.connect(
234
262
  self._toggle_options_panel)
235
263
 
236
264
  self.toggle_toggle_options_panel_act = QAction(self)
237
265
  self.toggle_toggle_options_panel_act.setIcon(QIcon(gcom.ICON_OPTIONS))
238
266
  self.toggle_toggle_options_panel_act.setStatusTip(
239
- 'Switch between file selector and options panel')
267
+ 'Switch between file selector and option panel')
240
268
  self.toggle_toggle_options_panel_act.triggered.connect(
241
269
  self._toggle_toggle_options_panel)
242
270
 
@@ -245,7 +273,7 @@ class _MainUI(QMainWindow):
245
273
  self.cancel_act.setShortcut('Escape')
246
274
  self.cancel_act.setStatusTip('Cancel')
247
275
 
248
- self.export_act = QAction('&Export Audio...')
276
+ self.export_act = QAction('&Export audio...')
249
277
  self.export_act.triggered.connect(self._export)
250
278
  if com.mpv_error is not None:
251
279
  self.export_act.setEnabled(False)
@@ -293,10 +321,9 @@ class _MainUI(QMainWindow):
293
321
  self.pause_act.triggered.connect(self._pause)
294
322
 
295
323
  self.stop_act = QAction(self)
296
- self.stop_act.setShortcuts([QKeySequence('Ctrl+S'),
297
- Qt.Key.Key_MediaStop])
324
+ self.stop_act.setShortcut(Qt.Key.Key_MediaStop)
298
325
  self.stop_act.setIcon(QIcon.fromTheme(gcom.ICON_STOP))
299
- self.stop_act.setStatusTip('Stop (Ctrl+S)')
326
+ self.stop_act.setStatusTip('Stop')
300
327
  self.stop_act.triggered.connect(self._stop)
301
328
 
302
329
  if DEBUG_BUTTON:
@@ -390,6 +417,10 @@ class _MainUI(QMainWindow):
390
417
  menubar = self.menuBar()
391
418
 
392
419
  file_menu = menubar.addMenu('&File')
420
+ file_menu.addAction(self.reload_saved_act)
421
+ file_menu.addAction(self.save_act)
422
+ file_menu.addAction(self.delete_saved_act)
423
+ file_menu.addSeparator()
393
424
  file_menu.addAction(self.export_act)
394
425
  file_menu.addSeparator()
395
426
  file_menu.addAction(self.exit_act)
@@ -532,6 +563,53 @@ class _MainUI(QMainWindow):
532
563
  self.cancel_button.hide()
533
564
  self.cancel_act.setEnabled(False)
534
565
 
566
+ def _save(self):
567
+ audio_path = self.analyzed_audio.current_selection
568
+ args = self.analyzed_audio.current_options.argparse_namespace()
569
+ if self.saved_options.save(args, audio_path):
570
+ self._update_statusbar('Saved')
571
+ self.delete_saved_act.setEnabled(True)
572
+ self.reload_saved_act.setEnabled(True)
573
+ else:
574
+ self._update_statusbar('Error while saving')
575
+
576
+ def _reload_saved(self):
577
+ path = self.analyzed_audio.current_selection
578
+ options = self.option_panel.get_default_options()
579
+ saved_args = self.saved_options.get_args(path)
580
+ if saved_args:
581
+ options.merge_args(saved_args)
582
+ try:
583
+ options.init_tuning_system()
584
+ except ValueError:
585
+ s = (f'invalid ref_note:'
586
+ f' {options[gcom.OPTION_REF_NOTE]}')
587
+ self._log(s, lv.LOG_LEVEL_ERROR)
588
+ return
589
+ self.option_panel.set_options(options, force=True)
590
+
591
+ def _delete_saved(self):
592
+ audio_path = self.analyzed_audio.current_selection
593
+ message = (f'Delete saved options for'
594
+ f'\n{audio_path}'
595
+ f'\nfrom'
596
+ f'\n{self.saved_options.path}?')
597
+ reply = QMessageBox.question(
598
+ self,
599
+ 'Confirm',
600
+ message,
601
+ QMessageBox.StandardButton.Yes
602
+ | QMessageBox.StandardButton.No,
603
+ QMessageBox.StandardButton.No)
604
+
605
+ if reply == QMessageBox.StandardButton.Yes:
606
+ if self.saved_options.delete(audio_path):
607
+ self._update_statusbar('Deleted')
608
+ self.delete_saved_act.setEnabled(False)
609
+ self.reload_saved_act.setEnabled(False)
610
+ else:
611
+ self._update_statusbar('Error while deleting')
612
+
535
613
  def _export(self):
536
614
  self.export_window.show(self.analyzed_audio.current_selection,
537
615
  self.analyzed_audio.current_listed_title,
@@ -581,6 +659,14 @@ class _MainUI(QMainWindow):
581
659
  self.option_panel.set_apply_enabled(True)
582
660
  self.show_log_plot_act.setEnabled(True)
583
661
  self.show_linear_plot_act.setEnabled(True)
662
+ self.save_act.setEnabled(True)
663
+ selected = self.analyzed_audio.current_selection
664
+ if self.saved_options.has_options(selected):
665
+ self.delete_saved_act.setEnabled(True)
666
+ self.reload_saved_act.setEnabled(True)
667
+ else:
668
+ self.delete_saved_act.setEnabled(False)
669
+ self.reload_saved_act.setEnabled(False)
584
670
  if not self._exporting_in_progress and com.mpv_error is None:
585
671
  self.export_act.setEnabled(True)
586
672
 
@@ -590,6 +676,9 @@ class _MainUI(QMainWindow):
590
676
  self.show_log_plot_act.setEnabled(False)
591
677
  self.show_linear_plot_act.setEnabled(False)
592
678
  self.export_act.setEnabled(False)
679
+ self.save_act.setEnabled(False)
680
+ self.delete_saved_act.setEnabled(False)
681
+ self.reload_saved_act.setEnabled(False)
593
682
 
594
683
  def _play_start_end_toggled(self, checked):
595
684
  if checked:
@@ -726,6 +815,26 @@ class _MainUI(QMainWindow):
726
815
  now = self.player.get_current_position()
727
816
  self.option_panel.set_end(now)
728
817
 
818
+ def _add_audio(self, path: str):
819
+ if self.option_panel.use_options():
820
+ options = self.option_panel.get_options()
821
+ if options is None:
822
+ self.option_panel.ensure_visible()
823
+ return
824
+ else:
825
+ options = self.option_panel.get_default_options()
826
+ saved_args = self.saved_options.get_args(path)
827
+ if saved_args:
828
+ options.merge_args(saved_args)
829
+ try:
830
+ options.init_tuning_system()
831
+ except ValueError:
832
+ s = (f'invalid ref_note:'
833
+ f' {options[gcom.OPTION_REF_NOTE]}')
834
+ self._log(s, lv.LOG_LEVEL_ERROR)
835
+ return
836
+ self.analyzed_audio.add_audio(path, options)
837
+
729
838
  def _initUI(self):
730
839
  self.resize(800, 850)
731
840
  self.setWindowTitle(APP_TITLE)
@@ -775,8 +884,8 @@ class _MainUI(QMainWindow):
775
884
  self.export_window = ex.ExportWindow(self)
776
885
  self.export_window.set_dir(self.file_selector.model.rootDirectory())
777
886
 
778
- file_selector.SelectForAnalysis.connect(analyzed_audio.add_audio)
779
- self.showhidden_act.toggled.connect(file_selector._set_show_hidden)
887
+ file_selector.SelectForAnalysis.connect(self._add_audio)
888
+ self.showhidden_act.toggled.connect(file_selector.set_show_hidden)
780
889
  file_selector.UpdateStatusbar.connect(self._update_statusbar)
781
890
  file_selector.model.rootPathChanged.connect(self.export_window.set_dir)
782
891
  self.analyzed_audio.UpdateStatusbar.connect(self._update_statusbar)
@@ -813,10 +922,15 @@ class _MainUI(QMainWindow):
813
922
  analyzed_audio.DisplayResult.connect(self._update_now_playing)
814
923
  analyzed_audio.PushOptions.connect(option_panel.set_options)
815
924
 
816
- self.about_window = _AboutWindow(self)
817
-
818
925
  self.log_viewer = lv.LogViewer(self)
819
926
 
927
+ self.saved_options = so.SavedOptions(self.args.savefile,
928
+ print_msg=self._log)
929
+
930
+ self.about_window = _AboutWindow(self,
931
+ config_path=self.args.config,
932
+ savefile_path=self.saved_options.path)
933
+
820
934
  self.show()
821
935
 
822
936
  hsplitter.moveSplitter(500, 1)
@@ -848,6 +962,8 @@ def main():
848
962
  if not ap.validate(args):
849
963
  return 2
850
964
 
965
+ QIcon.setFallbackSearchPaths((ICON_FALLBACK_PATH,))
966
+
851
967
  app = QApplication(sys.argv[:1] + unparsed)
852
968
 
853
969
  # Needed to make libmpv work
@@ -1,11 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: audio-tuner-gui
3
- Version: 0.10.0
3
+ Version: 0.11.1
4
4
  Summary: Graphical interface for Audio Tuner
5
5
  Project-URL: Homepage, https://codeberg.org/bluesloth/audio_tuner
6
6
  Project-URL: Repository, https://codeberg.org/bluesloth/audio_tuner.git
7
7
  Project-URL: Issues, https://codeberg.org/bluesloth/audio_tuner/issues
8
- Project-URL: Documentation, https://audio-tuner.readthedocs.io/en/latest/
8
+ Project-URL: Documentation, https://audio-tuner.readthedocs.io/
9
+ Project-URL: News, https://codeberg.org/bluesloth/audio_tuner/src/branch/master/NEWS
9
10
  Author-email: Jessie Blue Cassell <bluesloth600@gmail.com>
10
11
  License-File: COPYING
11
12
  Keywords: audio,music,pitch shift,player,tempo shift,tuning
@@ -61,7 +62,7 @@ for details.
61
62
  Audio Tuner can be configured to use **ffmpeg** and **ffprobe** instead of
62
63
  libmpv2, at the cost of reduced functionality in the GUI.
63
64
 
64
- .. _documentation: https://audio-tuner.readthedocs.io/en/latest/
65
+ .. _documentation: https://audio-tuner.readthedocs.io/
65
66
  .. _audio-tuner: https://pypi.org/project/audio-tuner/
66
67
  .. _PyQt6: https://www.riverbankcomputing.com/software/pyqt/
67
68
 
@@ -0,0 +1,45 @@
1
+ audio_tuner_gui/__init__.py,sha256=51v3JG4fPoWmCHn1ycgL-dtGVriT1L6ZWSiK36bQlEk,1181
2
+ audio_tuner_gui/analysis.py,sha256=cgtTnLf1Uha1dz49WeJ0dYNyCh_0-vBE-kPyLtM_Qlk,26307
3
+ audio_tuner_gui/common.py,sha256=OJ614RdCb7gUQNspz1Q7ifYFa-O6nXdZUWLdAV0xv64,13118
4
+ audio_tuner_gui/display.py,sha256=-h1G57UVsL2_Z1m14Z9rSvzcrOEevhLEMHosnrxX6aI,19825
5
+ audio_tuner_gui/export.py,sha256=g6FNYm7EaHDCXSIR7fZjTU71Zs2Pku0JjxBKB6DWNfI,19878
6
+ audio_tuner_gui/file_selector.py,sha256=19IXnVBHwct0fJwUZr2awbutJTEa-tGr82g-jzOWaBk,15679
7
+ audio_tuner_gui/log_viewer.py,sha256=PNf0knuQkRvktazkg4mQQhJ5O2HGs8v3w9IJZLwAPbI,4547
8
+ audio_tuner_gui/option_panel.py,sha256=fg9NK8eHmXrry6nVxP1weiHOpK5F9w9lpy8kD6p8F8s,22412
9
+ audio_tuner_gui/player.py,sha256=USYmJXYiYR9iIAUyct6t3rpcz_zvlkf1r_ng_ZXAu0g,23467
10
+ audio_tuner_gui/icons/audio_tuner_icon.ico,sha256=vUipvB6K3b8LnzPV5-V6axqW12KDcloGvt9BKGry9uQ,28838
11
+ audio_tuner_gui/icons/audio_tuner_icon.svg,sha256=V_mLVlyF4X3uu_t77QlxTRPmkVXuIjldC5aKCCMYXnU,6180
12
+ audio_tuner_gui/icons/audio_tuner_icon_hires.svg,sha256=9nauzWw17fBNO3Zg7ZEZ_-pRdv_MyiD7BBN6fUrWqkI,6195
13
+ audio_tuner_gui/icons/audio_tuner_logo_dark.svg,sha256=V2TknibqkccXpo8OYJemay3X6MuZ94sqN99Tpv-v3DQ,30104
14
+ audio_tuner_gui/icons/audio_tuner_logo_light.svg,sha256=sEdzqAhl_3csUb_RGvFrhXTipL8QGrLTPQwhFrjKOSw,30105
15
+ audio_tuner_gui/icons/black-logo.svg,sha256=-S44IU2Dy66fx06uUVzdemrIetpvXhhDsCv4N_hN5kI,7487
16
+ audio_tuner_gui/icons/gpl-v3-logo_red.svg,sha256=k666yv0GnqucG6Fr4jcot_4iHBUsNmiY-xsTmEz9mIs,34388
17
+ audio_tuner_gui/icons/gpl-v3-logo_white.svg,sha256=au5wiIglfx2vUSnA7Pg1IDUOhURl4BnlI1m6n4GgLTU,34418
18
+ audio_tuner_gui/icons/white-logo.svg,sha256=IQG-9kQLgtvuerVCvOLqiNt3_D6WPSEi37FE_ZiOS68,7488
19
+ audio_tuner_gui/icons/fallback/README,sha256=tmQ272G4QNYgqjP5RCU3Kd5asq4uGJeR83dVZ_yMlBE,150
20
+ audio_tuner_gui/icons/fallback/application-exit.svg,sha256=cHR-qCwHw1wG3qavmvpJGil1L99V0VtrOoHCAsNMDuI,19127
21
+ audio_tuner_gui/icons/fallback/audio-card.svg,sha256=GK8u5Qabp0mmVdCF8GpwPIF1zUrdbkGuPpGRnUAKEDo,26131
22
+ audio_tuner_gui/icons/fallback/audio-x-generic.svg,sha256=12GRJ6z-Je31nsoQvkh3a_M9Oi36Ok26mSMDLMXbwF8,8941
23
+ audio_tuner_gui/icons/fallback/dialog-warning.svg,sha256=8508efhOz1RHf0x6ffPf2rXQTLT77wianu2-Kv9kwLo,14165
24
+ audio_tuner_gui/icons/fallback/document-save.svg,sha256=H2RJRFtlnDWIAVCWnu48co5GPMwtIVGrutdylAIcwk8,29894
25
+ audio_tuner_gui/icons/fallback/edit-delete.svg,sha256=QG6MjrqGD-yB2E_Z-0uVa_0ujxoUMu0_RsnNYbOotyg,54926
26
+ audio_tuner_gui/icons/fallback/folder.svg,sha256=ZeJGUCRLBBOca7inal5TOC2aCdTNPqpnUu_271-v7_E,22869
27
+ audio_tuner_gui/icons/fallback/format-justify-left.svg,sha256=UuwMF-PSMnmW6IZSK3xlDg7b__uu9WyiqoshMxtjDcY,11136
28
+ audio_tuner_gui/icons/fallback/go-home.svg,sha256=0u_OtRLeCeHzNbACkNDS5XXUj6Wc8uL6GwDqogu6WRg,21437
29
+ audio_tuner_gui/icons/fallback/go-next.svg,sha256=5-edN_sn1CQ34ESa_-e47_vDOR5EUPU_D4hgIEn3sww,7904
30
+ audio_tuner_gui/icons/fallback/go-previous.svg,sha256=dSaRUEFPm9-w7udBrTYgnFANJ8Cy2EYrE04M97bY99g,28435
31
+ audio_tuner_gui/icons/fallback/go-up.svg,sha256=fVHUr2GBMEnujPLTCRCZQEBIo0d-U2bmRrGWJxeczpU,8218
32
+ audio_tuner_gui/icons/fallback/media-playback-pause.svg,sha256=ZbAEBCxRZzcMOxvrme7q5GcWvNx5-BRLxRkr0snGEWw,23163
33
+ audio_tuner_gui/icons/fallback/media-playback-start.svg,sha256=sJ53PSp5gus8nC5ZEV97n3yuS3ir-1m6-MdSzFYmwCg,11214
34
+ audio_tuner_gui/icons/fallback/media-playback-stop.svg,sha256=w2G3HXi59v8iW4Y7260V6pseHYdECSzqi6RCnI9MFN4,21458
35
+ audio_tuner_gui/icons/fallback/media-seek-backward.svg,sha256=y9aGUYyM4Km7O0ZTXayxigdk6mj7xHcFbfB1xXIdfB4,14278
36
+ audio_tuner_gui/icons/fallback/media-seek-forward.svg,sha256=HJOgxezBnHvsbfaKqLbaICIELLG-RwspmpbmuWbFgqQ,14721
37
+ audio_tuner_gui/icons/fallback/preferences-system.svg,sha256=EsjPiKPFwjZnJD7qtq60mcaZA5Qzsj3fdmzKi_EaGZA,19198
38
+ audio_tuner_gui/icons/fallback/process-stop.svg,sha256=WU_KkGZUmkc2JdSo5gOGHQeXQsE6tr1pq2x6V3134JE,12098
39
+ audio_tuner_gui/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ audio_tuner_gui/scripts/tuner_gui.py,sha256=LweJ4M5Mmi70Tz6NNp1ELizzkX3QuU4IG4te8WnIQKs,38218
41
+ audio_tuner_gui-0.11.1.dist-info/METADATA,sha256=j0SG0PRl4vrjHEXTdWpectAB007ADZLtDufvfq0_WL4,3513
42
+ audio_tuner_gui-0.11.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
43
+ audio_tuner_gui-0.11.1.dist-info/entry_points.txt,sha256=z_NHwJeBb9B9jnk_F6qZmOtWsobvOIrIFWuIdeBMa_w,65
44
+ audio_tuner_gui-0.11.1.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
45
+ audio_tuner_gui-0.11.1.dist-info/RECORD,,
Binary file
Binary file
Binary file
@@ -1,28 +0,0 @@
1
- audio_tuner_gui/__init__.py,sha256=EJ1Dp-cAt_cmESggp_QmS0jUQWlFnE0wtZqmrYW-tPE,1181
2
- audio_tuner_gui/analysis.py,sha256=3qDmG9OTTiMPqatR--Eao0Pf3rC8GY-lyE7F-1xVE58,25706
3
- audio_tuner_gui/common.py,sha256=MQG-Ao5tf2ynCGyCt3jQ8iweMIo4hDqEmwPU3GIawKU,11702
4
- audio_tuner_gui/display.py,sha256=-h1G57UVsL2_Z1m14Z9rSvzcrOEevhLEMHosnrxX6aI,19825
5
- audio_tuner_gui/export.py,sha256=g6FNYm7EaHDCXSIR7fZjTU71Zs2Pku0JjxBKB6DWNfI,19878
6
- audio_tuner_gui/file_selector.py,sha256=nldwGy1mv6hgoXYwdy9vILuMZWUA969zS8hC5GhzJ9k,13925
7
- audio_tuner_gui/log_viewer.py,sha256=PNf0knuQkRvktazkg4mQQhJ5O2HGs8v3w9IJZLwAPbI,4547
8
- audio_tuner_gui/option_panel.py,sha256=OJIyiDuAORp2o1yGtisN28CEhZDGVA3zTnReGWxjR4g,21606
9
- audio_tuner_gui/player.py,sha256=USYmJXYiYR9iIAUyct6t3rpcz_zvlkf1r_ng_ZXAu0g,23467
10
- audio_tuner_gui/icons/audio_tuner_icon.ico,sha256=vUipvB6K3b8LnzPV5-V6axqW12KDcloGvt9BKGry9uQ,28838
11
- audio_tuner_gui/icons/audio_tuner_icon.svg,sha256=V_mLVlyF4X3uu_t77QlxTRPmkVXuIjldC5aKCCMYXnU,6180
12
- audio_tuner_gui/icons/audio_tuner_icon_hires.svg,sha256=9nauzWw17fBNO3Zg7ZEZ_-pRdv_MyiD7BBN6fUrWqkI,6195
13
- audio_tuner_gui/icons/audio_tuner_logo_dark.svg,sha256=V2TknibqkccXpo8OYJemay3X6MuZ94sqN99Tpv-v3DQ,30104
14
- audio_tuner_gui/icons/audio_tuner_logo_light.svg,sha256=sEdzqAhl_3csUb_RGvFrhXTipL8QGrLTPQwhFrjKOSw,30105
15
- audio_tuner_gui/icons/black-logo.svg,sha256=-S44IU2Dy66fx06uUVzdemrIetpvXhhDsCv4N_hN5kI,7487
16
- audio_tuner_gui/icons/folder.png,sha256=hC4c3iI3f26EcSc01azlR_c0FkOTiaHBNAF9URKFeWY,1260
17
- audio_tuner_gui/icons/gpl-v3-logo_red.svg,sha256=k666yv0GnqucG6Fr4jcot_4iHBUsNmiY-xsTmEz9mIs,34388
18
- audio_tuner_gui/icons/gpl-v3-logo_white.svg,sha256=au5wiIglfx2vUSnA7Pg1IDUOhURl4BnlI1m6n4GgLTU,34418
19
- audio_tuner_gui/icons/preferences-other.png,sha256=atKxIcgcOspwAOLbS09PzmeZ72is-kDNee9XMl26_Yg,3585
20
- audio_tuner_gui/icons/process-stop.png,sha256=1--WGyi9wpODEiIwhhxvjAS3wOOFfFqb90xnNWncUt0,1963
21
- audio_tuner_gui/icons/white-logo.svg,sha256=IQG-9kQLgtvuerVCvOLqiNt3_D6WPSEi37FE_ZiOS68,7488
22
- audio_tuner_gui/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- audio_tuner_gui/scripts/tuner_gui.py,sha256=kX-j9DHc21Ez3TiCNHAzaAvgkCHzooJwIhS10Bk7FFI,33257
24
- audio_tuner_gui-0.10.0.dist-info/METADATA,sha256=km81L6mrLrVBFT5m7WDl34ah7z0jSIMSltxKihSIzrw,3448
25
- audio_tuner_gui-0.10.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
26
- audio_tuner_gui-0.10.0.dist-info/entry_points.txt,sha256=z_NHwJeBb9B9jnk_F6qZmOtWsobvOIrIFWuIdeBMa_w,65
27
- audio_tuner_gui-0.10.0.dist-info/licenses/COPYING,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
28
- audio_tuner_gui-0.10.0.dist-info/RECORD,,