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