Commit Graph

164 Commits

Author SHA1 Message Date
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
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
b3905e062d Improve artist search
Replicate recent changes in title search to artist search
2023-10-06 10:58:15 +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
986257bef6 Flake8 and Black run on all files 2023-07-09 16:12:21 +01:00
Keith Edmunds
c5c5c28583 Change PlaylistRows.row_number to plr_rownnum 2023-04-02 17:23:49 +01:00
Keith Edmunds
f9f1e5f237 Change PlaylistRows.row_number to row_no 2023-04-01 19:59:25 +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
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
530ee60015 WIP: playlists.py refactoring 2023-03-04 23:02:21 +00:00
Keith Edmunds
aa3388f732 WIP: playlist refactor: section timings 2023-02-28 20:46:22 +00:00
Keith Edmunds
0794f061ee WIP: playlists.py refactor 2023-02-19 20:09:00 +00:00
Keith Edmunds
8476dd4ace Add ability to delete and rename playlists
Fixes #54
2023-02-13 19:34:28 +00:00
Keith Edmunds
0c38fc2ef4 Fix all bar one typing errors 2023-02-07 21:58:08 +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
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
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
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
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
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
be4f19757c Improve performance of save_playlist 2022-12-22 17:41:46 +00:00
Keith Edmunds
6a2bcfff19 Restore tab order and focussed tab
Fixes #96
2022-12-20 18:35:18 +00:00
Keith Edmunds
57f038c704 Implement row mark and paste
Fixed #132
2022-12-19 15:28:03 +00:00
Keith Edmunds
1899aac9ae Implement carts 2022-10-21 22:41:38 +01:00
Keith Edmunds
a649fa8c59 WIP: Carts 2022-10-15 20:15:30 +01:00
Keith Edmunds
0b91cf7da4 WIP: carts 2022-10-15 17:42:37 +01:00
Keith Edmunds
00d3add0d3 Implement templates 2022-10-01 14:14:26 +01:00
Keith Edmunds
0194790605 Clean up importing and track rescan 2022-09-12 18:23:30 +01:00
Keith Edmunds
c907736436 Remove redundant code 2022-09-10 21:59:14 +01:00
Keith Edmunds
a0c074adad Checked all queries are SQLAlchemy V2 format 2022-08-22 17:46:04 +01:00
Keith Edmunds
140722217b Add bitrates to database and display 2022-08-22 17:30:30 +01:00
Keith Edmunds
62c5fa178c Work around MariaDB bug in replace_files.py 2022-08-22 14:39:18 +01:00
Keith Edmunds
5f8d8572ad Don't allow duplicate track paths 2022-08-21 19:47:47 +01:00
Keith Edmunds
bcc6634e34 Work on replacing existing music files 2022-08-17 11:28:10 +01:00
Keith Edmunds
61311f67fe Implement musicuster --check-database 2022-08-15 15:59:34 +01:00
Keith Edmunds
73e728177e Import track working 2022-08-15 14:16:46 +01:00
Keith Edmunds
3b4cf5320d Remove unused code 2022-08-15 12:45:45 +01:00
Keith Edmunds
d5950ab29a Move selected / move unplayed working 2022-08-15 12:29:36 +01:00
Keith Edmunds
dfc1344c69 Insert track working 2022-08-14 10:25:10 +01:00
Keith Edmunds
cb5eedd8c8 Open playlists working; playlist queries refactored 2022-08-13 14:50:23 +01:00
Keith Edmunds
c7034cf35a Create playlist working 2022-08-13 14:19:08 +01:00
Keith Edmunds
436f6b4fa9 Export playlist working 2022-08-13 13:32:25 +01:00
Keith Edmunds
9485b244f5 Export played tracks csv works 2022-08-13 12:57:37 +01:00
Keith Edmunds
066b20a571 Close playlist from menubar 2022-08-13 12:03:35 +01:00
Keith Edmunds
7d71e8ce64 WIP: clocks working 2022-08-12 21:25:59 +01:00
Keith Edmunds
c8194fad80 WIP: Implement move rows to playlist 2022-08-09 20:33:06 +01:00
Keith Edmunds
12541e1ff7 WIP: delete playlist rows working 2022-08-09 17:08:18 +01:00
Keith Edmunds
99409e8626 Right-click menu mostly working
Still to implement:
 - Move to playlist
 - Remove row
2022-08-07 20:20:56 +01:00
Keith Edmunds
96255e83ea Enable drag-select, then drag selection 2022-08-06 22:41:18 +01:00
Keith Edmunds
32e81fb074 Save of new style playlist implemented but not tested 2022-08-06 21:17:11 +01:00
Keith Edmunds
7a14651bd7 Add function type hints. Section headers and note colours working 2022-08-05 21:52:17 +01:00
Keith Edmunds
4f03306aff SQLA2: WIP, playlists load 2022-08-03 21:11:02 +01:00
Keith Edmunds
caed7fd079 SQLA2: sync'd to v2.3.1 2022-07-31 22:22:55 +01:00
Keith Edmunds
b7111d8a3b SQLA2: WIP 2022-07-31 21:11:34 +01:00
Keith Edmunds
64799ccc61 Scheme fixed for v2.4 (nee v3) 2022-07-06 21:40:35 +01:00
Keith Edmunds
374a312797 SQLA2.0 schema updates, column width saves 2022-07-04 21:32:23 +01:00
Keith Edmunds
ab47bb0ab4 SQLA2.0 playlist column headers display 2022-07-03 20:59:10 +01:00
Keith Edmunds
bef4507ef6 SQLA2.0 rewrote logging 2022-07-03 15:17:25 +01:00
Keith Edmunds
ff2f0d576c SQLA2.0 main window displays 2022-07-02 21:47:42 +01:00
Keith Edmunds
cc395ea0df Move notes with tracks
Fixes #106
2022-06-18 18:24:09 +01:00
Keith Edmunds
709347db6b WIP: move notes with tracks 2022-06-18 11:09:47 +01:00
Keith Edmunds
fbe9c2ba94 Fix deleting multiple rows
Also allow mass delete to be cancelled.

Fixes #115
2022-06-04 22:56:38 +01:00
Keith Edmunds
fc9a10ad52 Tidy up playlist.remove_track 2022-05-02 17:32:29 +01:00
Keith Edmunds
fd0d3e6e1f Move cron jobs to musicmuster.py 2022-04-18 14:53:57 +01:00
Keith Edmunds
70287d15a6 Implement search of playlist 2022-04-17 13:10:21 +01:00
Keith Edmunds
cf7930190e Add ability to download CSV of played tracks.
Fixes #60
2022-04-09 22:08:08 +01:00
Keith Edmunds
79e1fdde27 Update note row number in db when it changes 2022-04-06 19:37:10 +01:00
Keith Edmunds
fe660524a0 All tests passing 2022-04-05 17:00:29 +01:00
Keith Edmunds
c5f33c437f Fix moving tracks between playlists 2022-04-04 21:30:31 +01:00
Keith Edmunds
47f53428f6 Session fixes, MSS colour 2022-03-19 20:20:22 +00:00
Keith Edmunds
7f046ae86b test_playlists complete and working 2022-03-14 21:40:15 +00:00
Keith Edmunds
87f9e1e81b Merge 2022-03-14 20:10:59 +00:00
Keith Edmunds
a31718d2b9 Separate db config, testing session for pytest 2022-03-14 20:10:07 +00:00
Keith Edmunds
cf4e42358e First moves to separate db config 2022-03-14 20:09:38 +00:00
Keith Edmunds
f0b9ab4256 Fix up remove track from playlist 2022-03-09 21:40:47 +00:00
Keith Edmunds
06efaf2ba2 Fix tests 2022-03-04 18:34:31 +00:00
Keith Edmunds
f22f2780a3 Fix move tracks 2022-03-02 20:37:27 +00:00
Keith Edmunds
e8211414f9 V2 using ids rather than objects. Looking good. 2022-03-02 09:27:12 +00:00
Keith Edmunds
26edd5a2d0 more session stuff 2022-03-02 09:27:12 +00:00
Keith Edmunds
bc6a4c11cf Rebase dev onto v2_id 2022-03-02 09:27:10 +00:00
Keith Edmunds
a91309477b Rebase dev onto v2_id 2022-03-02 09:25:59 +00:00
Keith Edmunds
3a7b09f025 Code cleanups 2022-03-02 09:24:40 +00:00
Keith Edmunds
7f2dd68bce Rebase dev onto v2_id 2022-03-02 09:24:35 +00:00
Keith Edmunds
281a1d40bf Rebase dev onto v2_id 2022-03-02 09:23:56 +00:00
Keith Edmunds
cf58932fca Rebase dev onto v2_id 2022-03-02 09:16:07 +00:00