Commit Graph

898 Commits

Author SHA1 Message Date
Keith Edmunds
1502b10701 Fix (innocuous) mypy warning 2023-11-29 22:01:38 +00:00
Keith Edmunds
9cbdccb98b V3 polish 2023-11-29 15:04:50 +00:00
Keith Edmunds
3af9bef3f6 V3: fix preview button behaviour
Was asking user to select a track when next track selected.
2023-11-29 08:02:14 +00:00
Keith Edmunds
1db3990cd6 V3: add note colouring 2023-11-29 07:57:36 +00:00
Keith Edmunds
6061b20398 V3 polish 2023-11-28 21:56:20 +00:00
Keith Edmunds
2e090b192c V3: remove debug print statement 2023-11-28 21:19:23 +00:00
Keith Edmunds
63340a408d V3: fix display corruption when moving a header row 2023-11-28 21:13:16 +00:00
Keith Edmunds
f9b8f1d8d3 V3 tweaks and polishes 2023-11-28 19:59:45 +00:00
Keith Edmunds
f8093bc642 V3: track highlighting fix
When a track is moved to above the marked next track, and the moved
track is made the next track, the original next track remained marked
as next.
2023-11-28 18:29:19 +00:00
Keith Edmunds
cf4d06db16 V3 tidying 2023-11-28 14:36:12 +00:00
Keith Edmunds
95aadb867a V3 hide played tracks
Don't hide previous track until delay after playing next track.
2023-11-28 14:29:49 +00:00
Keith Edmunds
3179c6f5de V3 tweaks and polishes 2023-11-28 14:29:09 +00:00
Keith Edmunds
63a38b5bf9 V3 polish: fix @starttime in headers 2023-11-28 07:28:33 +00:00
Keith Edmunds
15c10431e6 V3 polish: header with "-" echoes section start text 2023-11-28 07:19:09 +00:00
Keith Edmunds
0f1d5117cc V3 tweaks 2023-11-27 22:44:20 +00:00
Keith Edmunds
4eabf4a02a WIP V3: ready for testing 2023-11-27 21:46:19 +00:00
Keith Edmunds
00d7258afd WIP V3: OBS scene changes working 2023-11-27 21:27:27 +00:00
Keith Edmunds
b1442b2c7d WIP V3: check track already present in playlist when adding 2023-11-27 20:55:24 +00:00
Keith Edmunds
3cab9f737c WIP V3: click on current/next header scrolls to track 2023-11-27 16:16:33 +00:00
Keith Edmunds
04f0e95653 WIP V3: fix minor issues 2023-11-27 15:21:20 +00:00
Keith Edmunds
dfb45dd0ff WIP V3: Don't hide next/current row 2023-11-27 11:52:29 +00:00
Keith Edmunds
02391f04b1 WIP V3: hide played tracks working 2023-11-27 11:27:25 +00:00
Keith Edmunds
480c832852 WIP V3: implement searching with QSortFilterProxyModel (ooo!) 2023-11-26 15:22:01 +00:00
Keith Edmunds
23a9eff43b WIP V3 wire in QSortFilterProxyModel 2023-11-23 18:28:10 +00:00
Keith Edmunds
25e3be6fae WIP V3: add track to header working 2023-11-23 17:12:03 +00:00
Keith Edmunds
c626d91f26 WIP V3: copy and paste rows to same or other playlist works 2023-11-23 10:59:03 +00:00
Keith Edmunds
551a574eac WIP V3: move unplayed rows 2023-11-23 04:44:36 +00:00
Keith Edmunds
80c363c316 WIP V3: better handle row order changing 2023-11-23 04:44:17 +00:00
Keith Edmunds
48b180e280 WIP V3: move selected tracks works 2023-11-22 19:57:14 +00:00
Keith Edmunds
223fb3bdec WIP V3: tests for moving rows between playlists pass 2023-11-22 16:57:16 +00:00
Keith Edmunds
5769e34412 WIP V3: move ImportTrack back to musicmuster.py 2023-11-20 12:40:45 +00:00
Keith Edmunds
e3d20c9bdc WIP V3: cleanup 2023-11-20 11:24:12 +00:00
Keith Edmunds
5add1f01c6 WIP V3: use signals to open wikipedia/songfacts pages
Also open wikipedia page on selecting next track
2023-11-19 21:50:39 +00:00
Keith Edmunds
88e638a56e WIP V3: search wikipedia/songfacts from menu 2023-11-19 21:31:09 +00:00
Keith Edmunds
4ca5eb24c3 WIP V3: remove track from row implemented 2023-11-19 20:56:46 +00:00
Keith Edmunds
05ef2d766c WIP V3: Black 2023-11-19 20:49:50 +00:00
Keith Edmunds
db547cbdb7 WIP V3: import tracks working 2023-11-19 16:02:44 +00:00
Keith Edmunds
005d17ee0a Check for no title/artist tag in replace_files 2023-11-19 11:44:43 +00:00
Keith Edmunds
262ab202fc WIP V3: catch proposed duplicate playlist name
Fixes #197
2023-11-19 11:13:49 +00:00
Keith Edmunds
4f4408400f WIP V3: info popup implemented 2023-11-19 03:11:03 +00:00
Keith Edmunds
f4a374f68c WIP V3: select duplicate rows working 2023-11-19 03:09:58 +00:00
Keith Edmunds
77774dc403 WIP V3: marn new playlist as open 2023-11-18 15:46:07 +00:00
Keith Edmunds
8f2ab98be0 Fix create playlist from template and tab handlding
Tab restore code rewritten.
2023-11-18 14:29:52 +00:00
Keith Edmunds
199f0e27fa WIP V3: fixup row insertion/deletion
All row insertions and deletions are now wrapped in beginRemoveRows /
endRemoveRows (and similar for insertions).
2023-11-17 22:17:47 +00:00
Keith Edmunds
e37f62fe87 WIP V3: fixup closing tabs 2023-11-17 22:14:51 +00:00
Keith Edmunds
be7071aae0 Change intro gap warning to 300ms 2023-11-16 22:23:22 +00:00
Keith Edmunds
eae8870d4d WIP V3: resume working 2023-11-16 19:09:41 +00:00
Keith Edmunds
93c5475a29 WIP V3: preview button works 2023-11-16 18:06:21 +00:00
Keith Edmunds
2861511f1f WIP V3: remove functions, formatting 2023-11-16 00:08:12 +00:00
Keith Edmunds
a8aa157484 Remove lots of unuse functions from playlists.py 2023-11-15 23:54:06 +00:00
Keith Edmunds
71f3e4cda8 WIP V3: delete rows works 2023-11-15 23:40:48 +00:00
Keith Edmunds
9467ae4ee5 WIP V3: show selected time plus drag 'n' drop refinements 2023-11-15 22:37:42 +00:00
Keith Edmunds
de710b1dc7 WIP V3: start/end times, moving row bug
Start/end times now stored separately from self.playlist_rows. Moving
next row to above current row now works.
2023-11-15 20:09:00 +00:00
Keith Edmunds
56087870f4 WIP V3: recalculate start/end times after moving rows 2023-11-15 15:14:23 +00:00
Keith Edmunds
b83bd0d5c3 WIP V3: display last played date 2023-11-15 15:09:41 +00:00
Keith Edmunds
3e49ad08b9 WIP V3: sort by each element implemented 2023-11-15 08:41:06 +00:00
Keith Edmunds
d5871fe77f WIP V3: context menu started
Sort by title implemented
2023-11-14 23:45:47 +00:00
Keith Edmunds
1b4411d7e5 Set up fade graph before playing track 2023-11-13 21:24:21 +00:00
Keith Edmunds
d2254b6ddd WIP V3: Use config settings for warning timers 2023-11-13 21:22:05 +00:00
Keith Edmunds
0d2dad9f3c WIP V3: remove references to HEADER_NOTES_COLUMN in playlists.py 2023-11-12 22:36:17 +00:00
Keith Edmunds
0f77cef37a WIP V3: editing header rows works 2023-11-12 22:35:44 +00:00
Keith Edmunds
bfc7a8508c WIP V3: fix moving tracks repaint bug
When a header row moved down to make room for a track row,
the column spanning is now reset on the now-track row.
2023-11-12 22:15:35 +00:00
Keith Edmunds
9e9bc8b4c7 WIP V3: end time of playing subsection implemented 2023-11-10 03:57:33 +00:00
Keith Edmunds
2907514eb7 WIP V3: smarten up section timings 2023-11-08 23:34:17 +00:00
Keith Edmunds
b399abb471 WIP V3: section timings in place 2023-11-08 23:18:33 +00:00
Keith Edmunds
6d648a56b7 WIP V3: fix editing headers rows 2023-11-08 18:34:10 +00:00
Keith Edmunds
b3262b2ede WIP V3: track start/end times working 2023-11-08 18:15:57 +00:00
Keith Edmunds
698fa4625a WIP V3: track start/stop times basics working
Only updates from header rows or current track. Changing
current track doesn't update correctly.
2023-11-07 23:14:26 +00:00
Keith Edmunds
813588e8e9 WIP V3: track stop implemented 2023-11-07 20:11:12 +00:00
Keith Edmunds
ad3ec45a76 WIP V3: unplayed rows in bold 2023-11-06 20:01:35 +00:00
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