Commit Graph

928 Commits

Author SHA1 Message Date
Keith Edmunds
6f31ed7afc WIP V3: set up track_sequence handling 2023-11-06 20:00:04 +00:00
Keith Edmunds
c20dc0288f V3 WIP: implement playing_track structure 2023-11-05 08:15:59 +00:00
Keith Edmunds
a8ac67b9e3 V3 WIP Black 2023-11-05 08:03:02 +00:00
Keith Edmunds
a35905dee8 WIP V3: play track working 2023-11-03 15:16:27 +00:00
Keith Edmunds
bd2fa1cab0 Initialise FadeCurve in a thread
Stops a UI delay of half a second or so when marking a track 'next'
2023-11-03 09:08:06 +00:00
Keith Edmunds
4d3dc1fd00 WIP V3: don't select headers or unplayable track as next 2023-11-01 23:12:10 +00:00
Keith Edmunds
e137045812 WIP V3: select next track works with caveats
Peformance isn't great
Selecting a non-existent track isn't caught
2023-11-01 22:53:25 +00:00
Keith Edmunds
d9ad001c75 Relayout files
Created classes.py and moved common classes to classes.py. Ordered
imports.
2023-11-01 19:08:22 +00:00
Keith Edmunds
15ecae54cf Move MusicMusterSignals into helpers 2023-11-01 07:49:40 +00:00
Keith Edmunds
fedcfc3eea WIP V3: Add track to header row implemented 2023-10-31 20:09:45 +00:00
Keith Edmunds
9554336860 Move SQLAlchemy statements to models.py 2023-10-31 13:04:21 +00:00
Keith Edmunds
813b325029 Black reformatting, tidying 2023-10-31 08:15:24 +00:00
Keith Edmunds
734d5cb545 Make MusicMusterSignals a singleton class
Moved into datastructures.py
2023-10-31 08:14:34 +00:00
Keith Edmunds
3557d22c54 WIP V3: insert track works 2023-10-30 21:55:02 +00:00
Keith Edmunds
e4b986fd2e Implement active_tab and active_model 2023-10-30 16:39:02 +00:00
Keith Edmunds
3832d9300c move_rows implemented; all tests pass 2023-10-28 11:30:37 +01:00
Keith Edmunds
617c39c0de Reworked inserting rows into model
_insert_row() handles database
insert_header() handles playlist_rows and display updates
2023-10-27 12:01:09 +01:00
Keith Edmunds
f57bcc37f6 WIP V3 model development 2023-10-27 06:58:22 +01:00
Keith Edmunds
37cdaf3e3f Call scalars() from session rather than row results 2023-10-27 06:41:40 +01:00
Keith Edmunds
858c86d907 test_insert_header_row passes 2023-10-25 22:17:52 +01:00
Keith Edmunds
87172c8757 WIP V3: drag 'n' drop rows working with tests 2023-10-24 21:46:21 +01:00
Keith Edmunds
86a1678f41 WIP V3: move row initial tests working
More tests to write
2023-10-24 20:48:28 +01:00
Keith Edmunds
da658f0ae3 V3 WIP testing working for test_models 2023-10-23 17:39:56 +01:00
Keith Edmunds
9d3e4b8d0c V3 WIP Drag and drop partly implemented
UI works but outputs model changes needed to stdout
2023-10-22 22:53:59 +01:00
Keith Edmunds
4903330e44 V3 WIP Add ROWS_FROM_ZERO option 2023-10-22 22:51:37 +01:00
Keith Edmunds
d6572c13b5 V3 WIP Black formatting 2023-10-21 14:07:42 +01:00
Keith Edmunds
95c7ccbf34 WIP V3: editing saves 2023-10-21 13:49:13 +01:00
Keith Edmunds
5d19d1ed9f Move playlists_v3 to playlists 2023-10-21 11:07:25 +01:00
Keith Edmunds
93d780f75a V3 WIP: ESC works in editing 2023-10-21 11:03:03 +01:00
Keith Edmunds
b75dc4256a WIP V3 don't send session to playlist tab 2023-10-21 09:02:36 +01:00
Keith Edmunds
0690a66806 Edit partially working
setData called but not implemented
ESC not detected in edit
2023-10-20 23:17:19 +01:00
Keith Edmunds
d579eb81b4 WIP V3 2023-10-20 20:47:08 +01:00
Keith Edmunds
cbdcd5f4fc Fix column spanning to not be recursive 2023-10-20 16:25:48 +01:00
Keith Edmunds
bb14b34c2e WIP V3: column widths set/save works 2023-10-20 11:30:54 +01:00
Keith Edmunds
dbbced7401 Fix repr() for Settings 2023-10-20 11:06:50 +01:00
Keith Edmunds
5fb5e12bb8 WIP: V3: All headers displaying 2023-10-20 08:54:48 +01:00
Keith Edmunds
978b83ba67 WIP: V3 header rows span columns 2023-10-19 18:29:09 +01:00
Keith Edmunds
9a01bf2c2c Don't error on header rows 2023-10-19 15:09:49 +01:00
Keith Edmunds
1c8fb05ffa WIP V3: gap and bitrate column background working 2023-10-19 15:05:30 +01:00
Keith Edmunds
bec336d2a3 WIP V3: playlist populates from database 2023-10-19 13:49:07 +01:00
Keith Edmunds
51a827093a Add return type in music.py 2023-10-19 13:49:07 +01:00
Keith Edmunds
8acd279cfe Clean up music.py interface 2023-10-17 22:52:51 +01:00
Keith Edmunds
d2444159ac Improved fading
fade() takes an optional parameter, fade_seconds
fading is now logarithmic
2023-10-17 22:38:57 +01:00
Keith Edmunds
2ca2471f5e Fix bug where unable to preview first row of playlist. 2023-10-16 23:25:09 +01:00
Keith Edmunds
d57ffbdb09 Implement select duplicate rows
Fixes #157
2023-10-16 23:16:56 +01:00
Keith Edmunds
f35b8b93b1 Fix up cron database check 2023-10-16 20:39:53 +01:00
Keith Edmunds
64c3e3066b Filter virtualenv lines from stackprinter dump 2023-10-16 20:31:32 +01:00
Keith Edmunds
3e2293195a Improve track creation in database
Pass all arguments to Tracks.__init__ on track creation
Smarten up metadata collecting
Reformat code
Reinstate stackprinter, but with more sensible settings (mostly
defaults, oddly enough)
2023-10-16 19:44:51 +01:00
Keith Edmunds
8cd8f80883 Shift-sort reverses sort 2023-10-15 22:46:32 +01:00
Keith Edmunds
d7c64141f2 Remove unused app/ui/playlist_ui.py 2023-10-15 22:25:48 +01:00
Keith Edmunds
3a612558e4 Set playlist column widths before populating playlist
Big speed improvment. Loading a 540 line playlist went from 0.445s to
0.264s.
2023-10-15 22:17:46 +01:00
Keith Edmunds
9ac2911a55 Typing and mypy fixes 2023-10-15 21:04:54 +01:00
Keith Edmunds
3513c32a62 Speed increases, more typing, cleanup
Pull all playlist row info in one database query when loading a
playlist.

Fixup some type hints in models.

Comment out stackprinter calls - they mostly get in the way
interactively.
2023-10-15 19:04:58 +01:00
Keith Edmunds
ae87ac82ba Migrate model to SQLAlchemy 2.0 DeclarativeBase 2023-10-15 09:51:02 +01:00
Keith Edmunds
a8c5a56c1a Implent subtotal times and unplayed time 2023-10-13 19:01:22 +01:00
Keith Edmunds
8cebf7829b Save playlist after undoing sort 2023-10-12 18:44:01 +01:00
Keith Edmunds
c8a7ae7f73 Black formatting 2023-10-12 08:55:26 +01:00
Keith Edmunds
87ab973439 Implement playlist range sort and unsort 2023-10-12 02:43:17 +01:00
Keith Edmunds
06e457a3da Save sorted selection 2023-10-10 01:28:31 +01:00
Keith Edmunds
8e2edb6af3 Add sort selection 2023-10-10 01:27:36 +01:00
Keith Edmunds
ee391e42e7 Minor tidying 2023-10-10 01:27:13 +01:00
Keith Edmunds
c078fa69e7 Only create one infotab at initialisation. 2023-10-06 19:10:19 +01:00
Keith Edmunds
da8272b29b Fix flickering when first marking a track as next
Pre-create the infotabs as adding the first one caused the flicker.
2023-10-06 18:04:11 +01:00
Keith Edmunds
b3905e062d Improve artist search
Replicate recent changes in title search to artist search
2023-10-06 10:58:15 +01:00
Keith Edmunds
6d48bcc9d0 Remove double ampersand in last track header 2023-10-06 10:52:28 +01:00
Keith Edmunds
f3a5ed2e72 Track selection dialog bugfix
If multiple tracks had the name name, only one would be listed.
2023-10-05 13:49:52 +01:00
Keith Edmunds
bb700d26f1 Faster track selection diaglog
Use better query to load last_played times along with tracks
2023-10-04 08:11:41 +01:00
Keith Edmunds
b2f826dfcc Much improved performance adding tracks 2023-10-01 15:17:27 +01:00
Keith Edmunds
c1fae2f91a Much improved performance adding tracks 2023-10-01 15:09:41 +01:00
Keith Edmunds
403c470c8a In track add dialog, ESC clears currently selected track 2023-09-30 21:32:08 +01:00
Keith Edmunds
c087858674 Add track dialog: add header if note given but no track selected 2023-09-30 20:45:12 +01:00
Keith Edmunds
494e124ac8 Separate path display from title/artist buttons, track add dialog 2023-09-30 20:38:46 +01:00
Keith Edmunds
dcab21bdde Reset preview button if preview track ends
Fixes #178
2023-07-14 17:16:14 +01:00
Keith Edmunds
cd04ec6339 Flake8 fixes 2023-07-09 23:27:13 +01:00
Keith Edmunds
a0a2903706 Make updating of clock backgrounds more efficient 2023-07-09 23:23:18 +01:00
Keith Edmunds
da267562ea Fix clocks for resumed track 2023-07-09 23:19:27 +01:00
Keith Edmunds
2ca1d30609 Rewrite timers/tick code
Fixes #176
2023-07-09 23:18:37 +01:00
Keith Edmunds
cb2017e953 Add button icons; wire up Stop button 2023-07-09 16:20:10 +01:00
Keith Edmunds
c7284c4397 Merge branch 'buttons' into dev 2023-07-09 16:15:29 +01:00
Keith Edmunds
986257bef6 Flake8 and Black run on all files 2023-07-09 16:12:21 +01:00
Keith Edmunds
fbc780b579 Put elapsed/total time below Preview button 2023-07-09 15:40:56 +01:00
Keith Edmunds
722043d049 Move Stop button away from other buttons
Fixes #177
2023-07-09 15:39:22 +01:00
Keith Edmunds
d3834928fd Remove padding around volume graph 2023-06-22 00:24:32 +01:00
Keith Edmunds
09f0e11aa7 Improve clock management
- tick() implemented independently of Config.TIMER_MS
 - have tick() call periodic functions
 - don't rely on vlc get_time() (too coarse)
2023-06-19 09:40:32 +01:00
Keith Edmunds
b706008101 Make volume fade graph update much smoother.
VLC get_time and get_position are very granular, only updating about
3-4 times a second. Instead, calculate play_time by substracting track
start time from current time and expressing that as milliseconds.
2023-06-19 00:55:04 +01:00
Keith Edmunds
4eb3a98c95 Added volume fade graph. 2023-06-18 09:20:55 +01:00
Keith Edmunds
6ae6d8e94e WIP volume graphs using matlibplot 2023-06-13 07:55:24 +01:00
Keith Edmunds
df265ead69 Unset preview button if there's no track to preview 2023-06-12 17:54:58 +01:00
Keith Edmunds
52a4de0c01 Implement preview button
Fixes #172
2023-06-11 17:49:29 +01:00
Keith Edmunds
c0ae9eba9f Don't scroll display after drop
With no code, display scroll back to where the source rows came from.
With code we had, we ensured dropped rows were visible, but display
would still scroll.
Now freeze display as it is when rows are dropped.
2023-05-01 18:04:03 +01:00
Keith Edmunds
e3ad7787af Make header row span columns after drag and drop 2023-05-01 17:27:30 +01:00
Keith Edmunds
65f2f4f351 Ensure volume is set to VOLUME_VLC_DEFAULT on play 2023-04-21 14:37:48 +01:00
Keith Edmunds
f07ff56987 Intercept ESC on cell edit 2023-04-18 21:33:48 +01:00
Keith Edmunds
4a927084c9 Fix (workaround) volume going to zero after track starts 2023-04-14 11:12:13 +01:00
Keith Edmunds
8a6812e405 Greatly simplifed drag and drop code 2023-04-13 17:29:58 +01:00
Keith Edmunds
32cc0468e8 Disable drag and drop (todo: fix in qt6) 2023-04-13 14:45:29 +01:00
Keith Edmunds
a8ffa6f231 Upgrade PyQt5 → PyQt6 2023-04-12 21:55:13 +01:00
Keith Edmunds
69d379ab10 Disconnect _cell_changed signal on edit abort 2023-04-10 13:58:32 +01:00
Keith Edmunds
ebc087f1f6 Improve typing 2023-04-10 13:58:07 +01:00
Keith Edmunds
3d32ce2f34 WIP to improve info tabs 2023-04-10 10:50:09 +01:00
Keith Edmunds
b122ac06a9 Workround to have tabs display 2023-04-10 10:49:54 +01:00
Keith Edmunds
028c6cd43c Fix(?) music starting with volume=0 2023-04-09 17:53:06 +01:00
Keith Edmunds
fe338aaf4a Tidy up scene change code 2023-04-09 17:45:48 +01:00
Keith Edmunds
a923f32070 First pass of OBS scene change 2023-04-09 16:02:44 +01:00
Keith Edmunds
7dac80dcf6 Use QThreadPool to manage fades 2023-04-08 17:48:41 +01:00
Keith Edmunds
c0e1732bbc Fix replace_files prompt not showing 2023-04-06 18:51:08 +01:00
Keith Edmunds
c5c5c28583 Change PlaylistRows.row_number to plr_rownnum 2023-04-02 17:23:49 +01:00
Keith Edmunds
f3c86484fe Change remaining PlaylistRows.row_number to row_no 2023-04-02 15:14:11 +01:00
Keith Edmunds
f9f1e5f237 Change PlaylistRows.row_number to row_no 2023-04-01 19:59:25 +01:00
Keith Edmunds
5cb6e83cd5 Specifiy Python3 in hashbang line 2023-04-01 19:45:48 +01:00
Keith Edmunds
16a9880583 Improve track search performance
Searching for a track was wrapping the search string in % signs
(wildcards). The leading % meant the database didn't use the index.
Dropped leading % (user can add it manually if needed).
2023-04-01 19:45:07 +01:00
Keith Edmunds
69bfd3cff9 Default to moving existing track when adding a new track 2023-03-25 17:20:10 +00:00
Keith Edmunds
3a14207c71 Ensure we pass ints to signal 2023-03-25 16:30:58 +00:00
Keith Edmunds
25287c8f7f Tidy playlist header colours
Simplify and also ensure that playlist tab is uncoloured after
unsetting next track.
2023-03-25 15:52:17 +00:00
Keith Edmunds
4a03596bd3 Ensure current track visible toggling hide/show played 2023-03-25 10:30:18 +00:00
Keith Edmunds
9c66333729 musicmuster refactor: signal next tracks, tab colouring 2023-03-19 15:21:02 +00:00
Keith Edmunds
728feb1c8e Allow multiple selected rows to be marked unplayed 2023-03-19 13:47:49 +00:00
Keith Edmunds
c9c47c3133 Retain current/next colours when pasting tracks 2023-03-17 23:07:14 +00:00
Keith Edmunds
0b2e7c7e31 Update last played time when track ends 2023-03-17 22:50:54 +00:00
Keith Edmunds
a30f054eb0 Set tab colours correctly 2023-03-17 22:43:36 +00:00
Keith Edmunds
eafacc3b21 Retain current/next colouring after editing notes 2023-03-17 18:28:32 +00:00
Keith Edmunds
a29bf3fce5 Fix first track staying green after end 2023-03-17 16:27:01 +00:00
Keith Edmunds
b30f2d5cc3 Fix play with mplayer 2023-03-16 15:20:31 +00:00
Keith Edmunds
6bf9330b62 Fix 'called set_header on track row'
Ensure playlist is saved before updating track start/end times.
2023-03-15 18:28:37 +00:00
Keith Edmunds
f3631b2c2b Synchronise row start/end updates
Row start/end time updates were being run in a different SQLAlchemy
session to the database updates and thus there was a lack of
synchronisation.

Now they run in the same session.
2023-03-14 22:59:39 +00:00
Keith Edmunds
3197c844a5 Print stack trace to stdout on internal error 2023-03-13 09:12:19 +00:00
Keith Edmunds
e22351386f Fix bug editing header rows 2023-03-13 09:11:47 +00:00
Keith Edmunds
ee422aacb3 Update track times after drag and drop 2023-03-12 18:48:36 +00:00
Keith Edmunds
380806d27a Change row to row_number 2023-03-12 18:43:23 +00:00
Keith Edmunds
c6840d2356 Improve copying track path 2023-03-12 18:41:44 +00:00
Keith Edmunds
453e42172b Use Audacity and mplayer without session 2023-03-12 18:41:13 +00:00
Keith Edmunds
019bc87eb0 Fix sense of file_is_unreadable() 2023-03-12 18:38:00 +00:00
Keith Edmunds
ee64a4a035 Remove unused function _get_row_start_time 2023-03-12 17:08:13 +00:00
Keith Edmunds
9c67b9bd8e Change row to row_number 2023-03-12 17:03:47 +00:00
Keith Edmunds
3cc90f8c11 Remove unneeded function _get_current_track_start_time 2023-03-12 16:53:13 +00:00
Keith Edmunds
71daccab12 Remove unneeded function _get_current_track_end_time 2023-03-12 16:51:02 +00:00
Keith Edmunds
ca86f59736 Rename function file_is_readable to file_is_unreadable 2023-03-12 16:47:45 +00:00
Keith Edmunds
d609656ae3 Change row to row_number 2023-03-12 16:44:12 +00:00
Keith Edmunds
f96e02d9ae Remove unused function _deferred_save() 2023-03-12 16:43:51 +00:00
Keith Edmunds
6c53d59f1a Fix adding/removing track from row 2023-03-12 16:23:56 +00:00
Keith Edmunds
b9fd7a5d21 Clean up editing 2023-03-12 16:23:36 +00:00
Keith Edmunds
669125794f Change row to row_number 2023-03-12 16:22:59 +00:00
Keith Edmunds
4094b63f44 Switch to existing infotab if it contains required URL 2023-03-12 13:25:20 +00:00
Keith Edmunds
b126a70139 Fix and improve hide played tracks
Last played track is now not hidden until
Config.HIDE_AFTER_PLAYING_OFFSET milliseconds after next track starts
playing.
2023-03-12 13:00:46 +00:00
Keith Edmunds
f30fff5356 Fix development bug that truncated playlists
Saving of playlist and updating note colours more consistent.
2023-03-12 10:33:10 +00:00
Keith Edmunds
80e698680b Clean up header and note updates
• rationalise number of functions
• make colour handling cleaner
• optimise when playlist is saved
2023-03-12 09:53:11 +00:00
Keith Edmunds
39ec7f470b Fixup section duration times 2023-03-11 16:05:10 +00:00
Keith Edmunds
16ad7ae5aa Produce consistent log output 2023-03-11 16:02:26 +00:00
Keith Edmunds
d54f1bedda Remove colon-in-path conditional fix 2023-03-10 23:11:23 +00:00
Keith Edmunds
ad071bb74b Consistently use clear_next() to clear next track 2023-03-10 23:10:54 +00:00
Keith Edmunds
2422adea21 Fix play sometimes stopping almost immediately 2023-03-10 22:34:23 +00:00
Keith Edmunds
ee7436221e Playlist save / session work 2023-03-09 08:35:16 +00:00
Keith Edmunds
889d32cc90 Post editing fixes
Fix row or cell colour
Fix row height after expanding when editing starts
2023-03-08 20:09:15 +00:00
Keith Edmunds
ae1835a421 Use signals to updates note text after editing
Hypothesis: this stops some kind of database race condition or
similar.
2023-03-08 20:08:17 +00:00
Keith Edmunds
8dd13a2ba2 Log file that creates sessions 2023-03-08 20:07:07 +00:00
Keith Edmunds
dda74782b6 Keep section headers bold 2023-03-07 18:02:17 +00:00
Keith Edmunds
4af1d4906c Never hide current or next row 2023-03-07 18:02:00 +00:00
Keith Edmunds
ea5e4a2215 Fix merge error 2023-03-05 20:23:43 +00:00
Keith Edmunds
e80a74cc40 Fixup track start/end times 2023-03-05 20:21:27 +00:00
Keith Edmunds
d92612c69a Tidy up when track start/stop times are recalculated 2023-03-05 20:19:40 +00:00
Keith Edmunds
b1841b02ea WIP playlists refactor: set header colour when removing track 2023-03-05 20:05:04 +00:00
Keith Edmunds
c5f89dbcf4 WIP playlists refactor: unify note and tab colour settings 2023-03-05 19:44:13 +00:00
Keith Edmunds
0978e93ee7 WIP: playlists refactor: fixup context menu 2023-03-05 14:36:01 +00:00
Keith Edmunds
15f4bec197 WIP: playlists refactoring 2023-03-05 14:31:30 +00:00
Keith Edmunds
530ee60015 WIP: playlists.py refactoring 2023-03-04 23:02:21 +00:00
Keith Edmunds
4a6ce3b4ee WIP: playists refactor: fix rescan 2023-03-01 20:27:17 +00:00
Keith Edmunds
9d3743ceb5 Update section timer and end of section note 2023-02-28 21:27:48 +00:00
Keith Edmunds
bc06722633 Launch Wikipedia on select vis singleShot timer 2023-02-28 21:27:20 +00:00
Keith Edmunds
aa3388f732 WIP: playlist refactor: section timings 2023-02-28 20:46:22 +00:00
Keith Edmunds
634637f42c WIP: playlist refacton: start/end times
Clean up function. If next track is above current track, flow start
times around current track rather than resetting them at current
track.
2023-02-26 22:04:39 +00:00
Keith Edmunds
613fa4343b Fix cancelling creation of new playlist 2023-02-26 22:03:13 +00:00
Keith Edmunds
e23f8afed2 WIP: playlist refactor fix default header colour 2023-02-26 21:31:20 +00:00
Keith Edmunds
45a564729b WIP playlists refactor including fixing saving playlist 2023-02-25 19:45:56 +00:00
Keith Edmunds
cc2f3733b2 Start using signals to call for saving playlist 2023-02-25 19:44:02 +00:00
Keith Edmunds
77716005c7 Modify session logging 2023-02-25 19:40:15 +00:00
Keith Edmunds
fed4e9fbde Open Wikipedia page on single row selection 2023-02-24 20:32:27 +00:00
Keith Edmunds
5902428c23 Clear selection after edit 2023-02-24 20:25:19 +00:00
Keith Edmunds
58ec47517d WIP: playlists.py refactor 2023-02-24 19:31:38 +00:00
Keith Edmunds
c14f03f0c1 WIP: playlists.py refactor
Reset colour of current track when it has finished and is on a
different tab to the next track.
2023-02-19 21:31:06 +00:00
Keith Edmunds
2cd49b5898 WIP: playlists.py refactor
Tracks are bold on import
2023-02-19 21:22:04 +00:00
Keith Edmunds
6de95573ff WIP: playlists.py refactor
Hide/show played tracks
2023-02-19 20:36:08 +00:00
Keith Edmunds
19377a8e1c WIP: playlists.py refactor
Reset background colour of current track when track ended.
2023-02-19 20:26:55 +00:00
Keith Edmunds
0794f061ee WIP: playlists.py refactor 2023-02-19 20:09:00 +00:00
Keith Edmunds
1c294e1ce4 Only send exception mails from production environment 2023-02-18 18:11:56 +00:00
Keith Edmunds
a41aea2d36 Fix potential bug in get_selected_playlistrows()
It was possible for the returned list to have embedded None objects
2023-02-18 10:43:38 +00:00
Keith Edmunds
c93f24970f Fix moving tracks to another playlist 2023-02-16 11:23:16 +00:00
Keith Edmunds
5fc1d21f5a Clean up "importing track" message 2023-02-16 11:22:52 +00:00
Keith Edmunds
8476dd4ace Add ability to delete and rename playlists
Fixes #54
2023-02-13 19:34:28 +00:00
Keith Edmunds
2a6dfc8b63 Fix can't add track to header row 2023-02-10 08:43:04 +00:00
Keith Edmunds
424709ca74 Fix startup issues after refactor 2023-02-10 08:42:41 +00:00
Keith Edmunds
4b104798b8 Add unmark as next, played to context menu
Fixes #166
Fixex #138
2023-02-08 20:52:42 +00:00
Keith Edmunds
a15f181008 Fix start time calc that stopped app starting 2023-02-08 16:10:31 +00:00
Keith Edmunds
0c38fc2ef4 Fix all bar one typing errors 2023-02-07 21:58:08 +00:00
Keith Edmunds
df2652e6cc Import tracks in QThread
Allows progress messages to be sent
Fixes #164
2023-02-07 21:25:16 +00:00
Keith Edmunds
1cc1f1a185 Display ampersands correctly in header
Fixes #165
2023-02-06 21:51:53 +00:00
Keith Edmunds
4a6d6fa208 Log errors importing tracks 2023-02-05 22:48:32 +00:00
Keith Edmunds
4f3fb6c1ae No mypy errors; four FIXMEs 2023-02-05 21:04:10 +00:00
Keith Edmunds
e4ef0b34c8 Improve type hints, rework code
Fixes #147
2023-02-05 17:38:56 +00:00
Keith Edmunds
9e6c700644 More typing fixes 2023-02-04 15:01:39 +00:00
Keith Edmunds
f182f49f15 More typing 2023-02-01 08:43:53 +00:00
Keith Edmunds
5d50ebf3aa Typing and other cleanups 2023-01-31 21:14:02 +00:00
Keith Edmunds
73bb4b3a7f WIP: typing 2023-01-30 19:29:33 +00:00
Keith Edmunds
dfb9326d5e Fix display corruption adding a track
Fixes #137
2023-01-29 18:31:50 +00:00
Keith Edmunds
e736cb82d2 Close MySQL session after running standalone commands 2023-01-27 10:53:28 +00:00
Keith Edmunds
e77c05b908 Remove unused functions 2023-01-20 22:01:05 +00:00
Keith Edmunds
ffa3015ac3 Fix move existing track when adding duplicate with note
Fixes #161
2023-01-20 22:00:47 +00:00
Keith Edmunds
f8dcc69a55 Python typing fixups 2023-01-20 21:59:40 +00:00
Keith Edmunds
c04114b07a Fix some type hints 2023-01-19 23:32:20 +00:00
Keith Edmunds
92852f7e27 Fix bug moving unplayed tracks
Fixes #162
2023-01-19 23:29:52 +00:00
Keith Edmunds
0507f495ad Fix adding only a note from track dialog
Fixes #160
2023-01-16 17:20:18 +00:00
Keith Edmunds
d87ff80bef Fix next track not selected when playing top row 2023-01-07 12:26:38 +00:00
Keith Edmunds
27cc86d48d Ensure when track stops playing it is no longer highlighted as current
track in playlist.
2023-01-07 12:21:53 +00:00
Keith Edmunds
7584ad2090 Make row number a playlist-only concept
Solves problem of rows being moved in playlist and musicmuster not
knowing which row the current/next track is (but it doesn't need to
know; it only needs to know the PlaylistRows id).
2023-01-07 11:50:05 +00:00
Keith Edmunds
087139f4de Quickfix: couldn't close tabs 2023-01-02 08:58:16 +00:00
Keith Edmunds
ed4a106bec Fix not recording playlist rows as played 2023-01-01 18:56:02 +00:00
Keith Edmunds
90424e917e Fix not recording playlist rows as played 2023-01-01 18:51:56 +00:00
Keith Edmunds
4870647387 Fix current track highligting when starting track on another playlist 2023-01-01 18:27:41 +00:00
Keith Edmunds
046b689882 Fixup moving tracks between playlists.
Fixes #155
2023-01-01 15:52:06 +00:00
Keith Edmunds
74028fadf7 Set colours of tabs correctly. 2023-01-01 14:25:06 +00:00
Keith Edmunds
4edcab1542 Skip over unreadable tracks when selecting next track. 2023-01-01 11:08:37 +00:00
Keith Edmunds
5e75659c48 Don't use row metadat for next/current track
Get them from musicmuster.
2023-01-01 10:49:54 +00:00
Keith Edmunds
daf8069de2 Tidy up moving to PlaylistTrack object 2023-01-01 09:19:34 +00:00
Keith Edmunds
4beafe7cfc Fix typo Session→session 2023-01-01 08:33:06 +00:00
Keith Edmunds
2a484d51d3 Remove function_logger
It doesn't work properly (call methods with an additional "None"
argument).
2023-01-01 08:11:41 +00:00
Keith Edmunds
b476db188f Implement PlaylistTrack object 2022-12-30 21:43:47 +00:00
Keith Edmunds
f1c27e0e8c WIP 2022-12-29 08:56:58 +00:00
Keith Edmunds
aa405cd6d9 WIP for resume play 2022-12-28 15:08:54 +00:00
Keith Edmunds
8f8c6a1034 Remove redundant code 2022-12-28 09:33:40 +00:00
Keith Edmunds
ece6723211 Database changes needed for 2.8 and 2.9 2022-12-25 10:29:05 +00:00
Keith Edmunds
683e76f9a0 Update database correctly when tabs are closed 2022-12-24 20:24:27 +00:00
Keith Edmunds
abd6ad0a64 Fix to not sending stack dumps in development environment 2022-12-24 20:23:30 +00:00
Keith Edmunds
ea4d7693ef Don't send stackdumps by mail in DEVELOPMENT environment 2022-12-24 18:46:04 +00:00
Keith Edmunds
94b2f473e9 Cleanups from running vulture 2022-12-24 09:36:51 +00:00
Keith Edmunds
f2a27366d3 Fix deleting rows from playlist 2022-12-23 21:27:06 +00:00
Keith Edmunds
46f2b662f3 Copy/paste, insert track/header works 2022-12-23 20:52:18 +00:00
Keith Edmunds
647e7d478a Move rows works. 2022-12-23 20:37:21 +00:00
Keith Edmunds
444c3e4fb4 Remove rows from playlist works and db updates 2022-12-23 20:15:07 +00:00
Keith Edmunds
35b101a538 Tidy up saving database 2022-12-23 17:23:43 +00:00
Keith Edmunds
d3958db8a3 Fix crash if create new playlist is cancelled 2022-12-23 09:27:14 +00:00
Keith Edmunds
be4f19757c Improve performance of save_playlist 2022-12-22 17:41:46 +00:00
Keith Edmunds
784d036bb7 Finally(?) sort out stackprinter logging. 2022-12-21 15:06:10 +00:00
Keith Edmunds
6a2bcfff19 Restore tab order and focussed tab
Fixes #96
2022-12-20 18:35:18 +00:00
Keith Edmunds
eb7ed1d6dd Install line-profiler 2022-12-19 21:31:08 +00:00
Keith Edmunds
78a9103490 Better stackprinter handling 2022-12-19 21:07:03 +00:00
Keith Edmunds
0d4b306fc4 Don't scroll on drag and drop
Fixes #152
2022-12-19 18:14:59 +00:00
Keith Edmunds
57f038c704 Implement row mark and paste
Fixed #132
2022-12-19 15:28:03 +00:00
Keith Edmunds
999a98e2ad Check before moving unplayed tracks
Fixes #151
2022-12-18 23:11:05 +00:00
Keith Edmunds
2ada8a27fe Tidy up log.py 2022-12-18 22:23:17 +00:00
Keith Edmunds
bd9c8a84b9 Implement stackprinter 2022-12-18 22:20:55 +00:00
Keith Edmunds
693e8f195d Notify when issue #147 occurs 2022-12-18 21:03:45 +00:00