Commit Graph

189 Commits

Author SHA1 Message Date
Keith Edmunds
c380d37cf9 V4 WIP: mostly Black formatting 2024-04-05 10:41:14 +01:00
Keith Edmunds
3821a7061b Migrated to Alchemical 2024-04-05 10:38:03 +01:00
Keith Edmunds
6fd541060e Migrate to Alchemical 2024-04-05 10:38:03 +01:00
Keith Edmunds
dbe71c3be4 Improve test coverage 2024-04-05 10:38:03 +01:00
Keith Edmunds
128fe2925f Disable selected row timing during move_unplayed 2024-01-12 10:36:05 +00:00
Keith Edmunds
3922be2642 Report track import errors correctly 2023-12-22 13:21:12 +00:00
Keith Edmunds
7ed54f2bab Fix issues saving/restoring active tab
Fixes #212
2023-12-08 14:00:59 +00:00
Keith Edmunds
3179c6f5de V3 tweaks and polishes 2023-11-28 14:29:09 +00:00
Keith Edmunds
80c363c316 WIP V3: better handle row order changing 2023-11-23 04:44:17 +00:00
Keith Edmunds
223fb3bdec WIP V3: tests for moving rows between playlists pass 2023-11-22 16:57:16 +00:00
Keith Edmunds
262ab202fc WIP V3: catch proposed duplicate playlist name
Fixes #197
2023-11-19 11:13:49 +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
2861511f1f WIP V3: remove functions, formatting 2023-11-16 00:08:12 +00:00
Keith Edmunds
71f3e4cda8 WIP V3: delete rows works 2023-11-15 23:40:48 +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
37cdaf3e3f Call scalars() from session rather than row results 2023-10-27 06:41:40 +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
95c7ccbf34 WIP V3: editing saves 2023-10-21 13:49:13 +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
f35b8b93b1 Fix up cron database check 2023-10-16 20:39:53 +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
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