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
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