Commit graph

455 commits

Author SHA1 Message Date
9ecb0db1f8 equivalent exchange of boilerplate 2024-11-02 09:34:57 +01:00
173494c71f remove some boilerplate 2024-11-02 08:54:44 +01:00
3b3e3166ca url things 2024-11-02 08:46:37 +01:00
76a8315434 dont need main.vala anymore 2024-11-02 08:31:48 +01:00
c227e8caea directly provide playqueue list model 2024-11-02 08:28:31 +01:00
35aa3e3101 cippy 2024-11-01 21:39:43 +01:00
5d949d4c0f fix double password storage 2024-11-01 20:51:32 +01:00
62e5fce1f3 yeah 2 2024-11-01 20:48:40 +01:00
dae37216fe thats him officer kill that man 2024-11-01 20:39:10 +01:00
7f20e422d7 yeah 2024-11-01 20:04:15 +01:00
a8776faa1f more mpris etc etc 2024-11-01 20:04:15 +01:00
7279532745 signals signals 2024-11-01 20:04:15 +01:00
83e627d3d2 finally make volume slider bidirectional 2024-11-01 20:04:15 +01:00
472770013e weaken that one playbin reference 2024-11-01 20:04:15 +01:00
19528beb22 mostly full mpris support, again 2024-11-01 16:14:52 +01:00
d873d03973 can now set volume again thru mpris 2024-11-01 15:17:37 +01:00
6272c2ce07 dog shit metadata map 2024-11-01 14:54:09 +01:00
519424d42f fix zbus executor ticking 2024-11-01 13:58:59 +01:00
286c0e552d some of those are optional 2024-11-01 13:55:47 +01:00
940254b4fd drop(window) 2024-11-01 13:53:55 +01:00
b3a5fc146a blaargh 2024-11-01 13:50:29 +01:00
56d4057d87 some fixes 2024-11-01 13:02:27 +01:00
62c71dbd26 holy fruck there's actually a way
im sorry i ever doubted u gtkrs
2024-11-01 12:57:20 +01:00
e1af996482 todo mpris player server 2024-11-01 12:45:01 +01:00
b069a2ddb7 remove uneeded vala classes 2024-11-01 12:14:12 +01:00
d808f30005 zbus moment 2024-11-01 12:11:49 +01:00
3923635703 nah do that instead 2024-11-01 10:22:36 +01:00
66fa21f50f also have tokio do streaming json parsing 2024-11-01 10:16:02 +01:00
6892f99070 inline that one fixup method 2024-11-01 09:59:32 +01:00
9f97a2cae3 cordon off the tokio runtime to the subsonic client 2024-11-01 09:58:03 +01:00
abd2331eb2 Okay Cippy 2024-11-01 09:47:23 +01:00
931c7f5d2b some constants 2024-11-01 09:47:03 +01:00
b43a8ac4d0 test getRandomSongs endpoint 2024-11-01 09:43:55 +01:00
2a87d6d9dc couple things 2024-11-01 09:32:20 +01:00
68c256488d more subsonic client bullshit 2024-11-01 09:29:59 +01:00
2e4778f2f9 but safer 2024-10-31 21:57:31 +01:00
b3b0160497 add more undefined behaviour 2024-10-31 21:41:02 +01:00
dee7c2e396 rust subsonic client basics 2024-10-31 13:17:35 +01:00
0320e12206 kill ffi 2024-10-31 12:02:58 +01:00
efbe32ed22 translate play queue widget 2024-10-31 12:02:00 +01:00
118b2d6f7e smal fix 2024-10-31 11:47:03 +01:00
96067675d4 empty wrapper for play queue ui 2024-10-31 11:24:58 +01:00
b53b3d8362 mostly translate play queue song widget 2024-10-31 11:17:12 +01:00
620d5803e6 was that really useless 2024-10-31 08:25:33 +01:00
f07641622e wrap ui setup dialog 2024-10-31 08:24:28 +01:00
d49c348781 rust.vapi 2024-10-31 08:20:36 +01:00
e5871e0bfc finish porting playbar 2024-10-31 08:19:03 +01:00
74b0183e1c swappe 2024-10-31 08:17:32 +01:00
0dab31137c use GStrings 2024-10-31 08:15:35 +01:00
ab354a35c0 unfuck playbar 2024-10-31 07:59:09 +01:00
f8015fbe10 seekbar also works again 2024-10-30 13:25:27 +01:00
bf8b02de12 volume slider works again 2024-10-30 13:09:22 +01:00
0f2351ae01 make the play pause button work again 2024-10-30 12:59:16 +01:00
6f3b3537ad wip translated ui playbar class 2024-10-30 12:45:50 +01:00
b94d41542f wrap playbar 2024-10-30 11:42:03 +01:00
c98290d4f0 wrap some classes and a struct 2024-10-30 10:06:10 +01:00
427e42a087 remove useless include 2024-10-30 10:01:14 +01:00
4ee544a88d try better meson_config.rs handling 2024-10-30 09:05:10 +01:00
ec2167f8fe just use build time bindgen for mpv 2024-10-30 09:01:45 +01:00
66467ee8af clippey 2024-10-30 08:52:48 +01:00
bb097cd3d5 generate header for vala lib 2024-10-30 08:48:30 +01:00
4ca473eb11 mpv oopsie 2024-10-30 08:44:59 +01:00
e02bc10ebc partial mpv bindings 2024-10-30 08:41:25 +01:00
77cb665da8 grr 2024-10-30 08:41:25 +01:00
6def98af81 add gettext init to rs 2024-10-30 07:33:52 +01:00
a8453e6e3d clippy idiomacy 2024-10-30 04:26:53 +01:00
38f1ce63d3 shoo 2024-10-29 19:27:13 +01:00
2f70f61547 don' use the libsecret crate 2024-10-29 19:13:58 +01:00
1f289ecf1e gir 2024-10-29 15:46:33 +01:00
4193fb72c2 translated src/application.vala 2024-10-29 14:02:29 +01:00
5bfaeade17 bring back vala for a sec 2024-10-29 13:19:12 +01:00
5e2d2807c1 translate src/main.c 2024-10-29 13:02:18 +01:00
36b2cf989d cargo fmt, and also pass argc/argv to c lib 2024-10-29 12:29:04 +01:00
66500f483c let cargo build the resources 2024-10-29 11:56:44 +01:00
824a68956a this is not a place of honor 2024-10-29 11:37:15 +01:00
1ec9d1c2eb commence the ritual 2024-10-29 10:48:40 +01:00
68d1d78216 some restructuring 2024-10-28 11:02:13 +01:00
7799566758 expose play queue length as playbin property 2024-10-28 10:26:12 +01:00
e925dc33cc "fix" play button 2024-10-28 10:22:42 +01:00
a5091d42e0 add cover art member to song class 2024-10-28 10:16:15 +01:00
dfe4a24c5b turn playbin.play_queue_position into an int 2024-10-28 10:03:45 +01:00
713b3d8842 use adw box for more things 2024-10-28 09:52:50 +01:00
edaf7079ac add dropdown to album view 2024-10-28 09:47:27 +01:00
3f7f7d4ce9 feishinization continues 2024-10-27 22:01:49 +01:00
77f9d70d29 feishinize more the play queue
and also readd the drag widget i guess
2024-10-27 21:39:29 +01:00
6a2b157c7d new play queue style 2024-10-27 12:20:43 +01:00
f240424774 allow play to be pressed if stopped but playlist not empty 2024-10-26 17:46:15 +02:00
a82b5b0475 fix edge case when stopping and then selecting something 2024-10-26 17:30:58 +02:00
175563ba76 mpris: don't warn when api is set 2024-10-26 15:22:53 +02:00
8e5ac49417 cover art for mpris 2024-10-26 11:38:08 +02:00
347cb55c9d more mpris 2024-10-26 11:34:12 +02:00
efc639367b clear mpris metadata on stop 2024-10-26 11:28:36 +02:00
3772be599b mpris support 2024-10-26 11:26:55 +02:00
8c4c4f8e74 make mpv call its audio output audrey 2024-10-26 09:26:17 +02:00
36d6734e73 stop playback immediately on window close 2024-10-26 09:20:25 +02:00
d550d8f9b7 that was never called 2024-10-26 09:13:39 +02:00
faa5d15e1e add warning 2024-10-26 09:11:58 +02:00
9f6bc7b10b Revert "use pipe for mpv wakeup callback"
This reverts commit 72d4e63249.

more trouble than it's worth
2024-10-26 09:10:55 +02:00
d666c8fb49 whoopsies 2024-10-26 00:12:11 +02:00
41b32aa4cf mpv event id to string 2024-10-26 00:05:56 +02:00
64dcceea22 debug destructors 2024-10-26 00:00:20 +02:00
72d4e63249 use pipe for mpv wakeup callback
hopefully works better with the gtk main loop but idk lol
2024-10-25 23:26:45 +02:00
2b2ace0f5c some async 2024-10-25 22:09:57 +02:00
f436557bf5 add "no songs queued" placeholder 2024-10-25 11:05:01 +02:00
fdd719f4f8 baahhhhh 2024-10-20 18:25:40 +02:00
48795a4d2f fix some warnings 2024-10-20 17:46:59 +02:00
41bfab9ab8 bring back position in play queue 2024-10-20 17:44:16 +02:00
a556fe7e29 placeholder albums nav page 2024-10-20 17:43:06 +02:00
af4da894fc only show cover art in playbar if view isnt play queue 2024-10-20 17:28:47 +02:00
fa9d3b873f add placeholder options to song popover 2024-10-20 16:47:35 +02:00
2f96d2216d new art sizing 2024-10-20 16:25:30 +02:00
83b2db4b76 play queue experiment 2024-10-20 16:15:22 +02:00
75cb222b91 kill sidebar 2024-10-20 15:30:22 +02:00
734ffc5758 try fix duration fallback 2024-10-20 14:45:37 +02:00
9ba12bf365 default to no position shown in play queue 2024-10-20 14:26:51 +02:00
c6446f4352 fancy fancy drag widget :o 2024-10-20 14:24:04 +02:00
b53801c470 track reordering!!! 2024-10-20 14:10:02 +02:00
64744819de reimplement track deletion 2024-10-20 13:45:47 +02:00
f09a89140d dont seek if the playbar doesnt have a duration 2024-10-20 13:37:33 +02:00
d2025102e6 warn on failed seek 2024-10-20 13:35:15 +02:00
26449b9dcf this should be better than inc_position 2024-10-20 13:32:15 +02:00
5c24cde637 fix end of stream lol 2024-10-20 13:26:36 +02:00
af127b8d7b yet another playbin refactor 2024-10-20 13:17:40 +02:00
c880729d19 remove bottom sheet for now 2024-10-20 12:11:32 +02:00
0fd5298a31 better cover art loading 2024-10-20 12:05:48 +02:00
f97b8ab17c fix playbar centering 2024-10-20 12:03:24 +02:00
35394d74ac refactor 2024-10-20 12:02:06 +02:00
eec61c8ed0 configure play queue displayed fields 2024-10-20 11:57:47 +02:00
c8e4e55410 silence blueprint suggestion 2024-10-20 11:52:51 +02:00
4c9f24cd6b silence adwaita warning 2024-10-20 11:52:09 +02:00
f78268c013 rm name
replace with the hamburger about menu later
2024-10-20 09:18:05 +02:00
73a626e5a0 dbg 2024-10-20 08:33:25 +02:00
5214daf4e7 shorter 2024-10-20 08:32:56 +02:00
800bff6e1a fix keyring unlock
closes #5
2024-10-20 08:31:20 +02:00
cc525dcc80 split playbar into its own template 2024-10-19 17:04:56 +02:00
8e1edd39c8 disable can-open 2024-10-19 16:49:40 +02:00
1a515c719c use bottom sheet for playbar 2024-10-19 15:05:43 +02:00
feb08c9ba5 show separators in play queue 2024-10-19 14:53:49 +02:00
cc2f9f1466 remove track from playlist 2024-10-19 14:39:44 +02:00
a556ca4840 highlight current track 2024-10-19 14:04:52 +02:00
8966c5fff4 drag and drop basics 2024-10-19 13:55:25 +02:00
ba1a5f3f39 kill custom selection model 2024-10-19 13:29:39 +02:00
8de2adde18 play queue restyle 2024-10-19 13:07:22 +02:00
08611f9b6a mini style 2024-10-19 05:09:24 +02:00
8bf0e13ba9 song 2024-10-18 22:55:38 +02:00
f8ad4cd36d only send now_playing when playlist-pos is updated
these updates are coalesced, so it's possible that by START_FILE the
observed event hasn't had the change to update the property
2024-10-18 22:49:42 +02:00
2f99ae9edf betetr playlist end behavior 2024-10-18 22:33:35 +02:00
df3484f147 better event tracking 2024-10-18 22:33:23 +02:00
0f1bbec5de instantly update next track info when manually switching 2024-10-18 22:17:04 +02:00
72c8507126 catch end_file errors 2024-10-18 22:13:28 +02:00
d43857646d remove unused class 2024-10-18 21:54:12 +02:00
749b66417d fix play/pause 2024-10-18 10:57:55 +02:00
cb180857c9 fix set_property_flag 2024-10-18 10:56:48 +02:00
d2f5a564e7 don't advertise mpris until it's implemented 2024-10-18 02:48:42 +02:00
ffa6b20854 i think this fixes a memory leak 2024-10-17 22:45:50 +02:00
d91f945375 fix cover art 2024-10-17 22:36:29 +02:00
d17c538ccb vapi changes 2024-10-17 22:32:51 +02:00
d053e68744 just use the sync mpv api for everything
seems to be fast enough
2024-10-17 22:08:21 +02:00
9dc3559c26 fix locale shit 2024-10-17 21:27:29 +02:00
925367b180 replace gstreamer with mpv
lol
2024-10-17 12:05:20 +02:00
c4dbba35c0 try new seeking 2024-10-17 08:06:09 +02:00
2fe276bfbd fix seeking hah 2024-10-16 22:24:48 +02:00
e1b6b19c03 try accurate seeking 2024-10-16 21:45:50 +02:00
ca3de608fd don't use gconfaudiosink, actually
its fookin gone
2024-10-16 21:42:46 +02:00
83b3a862e3 use gst time constants
no more 1000000000000000000000000000000 in code
2024-10-16 21:26:45 +02:00
eaf8a86232 use style autoloading
avoids a deprecation warning; the function is not even deprecated, the vala
bindings just have a bug here, but this also fixes it
2024-10-16 20:25:56 +02:00
f4744f03c3 use api duration value as placeholder 2024-10-16 13:12:58 +02:00
6bdf5d7e5c use - for unknown duration 2024-10-16 13:07:14 +02:00
19dd3b13e2 api -> subsonic 2024-10-16 13:02:32 +02:00
e9bfd056c8 shouldn't have removed that 2024-10-16 12:51:01 +02:00
560671c1da also do that 2024-10-16 12:49:06 +02:00
70f9e4f3a3 propertify current song 2024-10-16 12:37:39 +02:00
dee32826ec betterify ux 2024-10-16 12:15:00 +02:00
e1922a4d28 disable seekbar alongside rest of controls 2024-10-16 12:05:47 +02:00
14053a67a1 kill warnings 2024-10-16 12:04:58 +02:00
6c12828e31 try improve track choosing ux 2024-10-16 12:03:32 +02:00
636774d787 selection model bull shit 2024-10-16 11:43:11 +02:00
7f7a84d747 make playbin authoritative on the current play queue position 2024-10-16 11:11:52 +02:00
de5c1179fa extract playqueue model outside ui 2024-10-16 10:48:52 +02:00
fdbbfcd730 unfuck broken ninja dep tracking that always rebuilds the entire ui and also write a 200 word essay for twitch chat 2024-10-16 06:53:00 +02:00
8c42d99c18 slightly more explicit imports
i had no idea where these were from; now i do :)

vala is super loose about these..
2024-10-16 05:58:58 +02:00
367111171f lower salt randomize level from VeryStrong to Strong
this follows the documentation; the default is for longterm, not short lived
per-request/session rng
2024-10-16 05:48:30 +02:00
51b6dc8f3d clear up name 2024-10-16 05:40:00 +02:00
b18c8820a2 salt_password does nothing with class state so move it out 2024-10-16 05:38:34 +02:00
9f33247d32 yes 2024-10-16 05:32:45 +02:00
086ab02f77 dont actually use random_bytes, it leaks memory
ha ha vala what the fuck
2024-10-16 00:07:19 +02:00
9e05dc3313 use random_bytes directly 2024-10-16 00:02:38 +02:00
e6926725f7 bye bye sqlite 2024-10-15 23:57:00 +02:00
6f739fde18 just use the keyring for the rest of the authn lmao 2024-10-15 23:49:34 +02:00
ff9bd114ab use libsecret for password storage 2024-10-15 23:34:09 +02:00
e3a25e2429 put user agent in one place 2024-10-15 23:19:32 +02:00
a67615a6a3 explicit min dep version
just to have a cringe baseline to look at
2024-10-15 22:55:32 +02:00
86ca684643 Merge branch 'trunk' of git.ddd.rip:zerica/audrey into trunk 2024-10-15 22:53:39 +02:00
a770d71399 better buttons 2024-10-15 22:53:34 +02:00
16d9c54bb0 meson format
just the defaults
2024-10-15 22:51:13 +02:00
70dcd57194 buttons 2024-10-15 22:48:41 +02:00
e6f3dc6e7c try handle more edge cases 2024-10-15 22:45:16 +02:00
bac519034d fix those buttons 2024-10-15 22:33:39 +02:00
db0fee7d92 propertify more things 2024-10-15 22:29:14 +02:00
c9b67977e0 improve async queue logic hopefully 2024-10-15 22:14:37 +02:00
72e0745d52 move a bunch of logic into playbin
also yeah yeah fixme those buttons are gone for now
2024-10-15 13:27:47 +02:00
f7afcbca01 Merge branch 'trunk' of git.ddd.rip:zerica/audrey into trunk 2024-10-15 11:11:31 +02:00
9329797ad6 playbin: use gconfaudiosink 2024-10-15 11:11:14 +02:00
e10069306d remove unused with_password
the login and auth uses with_token seemingly
2024-10-15 08:57:36 +02:00
3615fb59eb actually use the custom user agent tee hee 2024-10-14 22:27:40 +02:00
814aa93bf0 who knows 2024-10-14 21:55:25 +02:00
8b4450c10f attempt to unfuck seeking 2024-10-14 21:55:25 +02:00
7268b1bacf oh my fucking godj ust comment it out for now 2024-10-14 21:55:25 +02:00
dd0536e5dd fix oopsie 2024-10-14 21:55:25 +02:00
b7385548c6 an attempt at bringing back the delete buttons 2024-10-14 21:55:25 +02:00
8a0c748d51 hopefully streamline playbin state machine 2024-10-14 21:55:25 +02:00
407551313b brand new play queue selection logic 2024-10-14 21:55:25 +02:00
3c38388c21 gooder gapless track switching 2024-10-14 21:55:25 +02:00
629bc782fc playbin refactor 2024-10-14 21:55:25 +02:00
4256778e95 place ui code in own directory 2024-10-14 21:55:25 +02:00
94107f9e60 partial seek button support 2024-10-14 21:55:25 +02:00
81b9acca6a kill useless children 2024-10-14 21:55:25 +02:00
2f2e591584 use centerbox for seekbar 2024-10-14 21:55:25 +02:00
03c042f518 better song labels in play bar 2024-10-14 21:55:25 +02:00
8f0da45a63 😳 what if we bikeshedded the meme player user agent together (and we were both girls) 2024-10-14 21:55:25 +02:00
9c7bd61318 NO VERSIONS? 2024-10-14 21:55:25 +02:00
5345ebd2b4 fix gstreamer user agent 2024-10-14 21:55:25 +02:00
59e9c6d7b4 rename project lol 2024-10-14 21:55:25 +02:00
4f4253da42 remove agpl barf
they say its not 2003 anymore u_u
2024-10-14 21:55:24 +02:00
e229fa3911 bigger egg 2024-10-14 21:55:24 +02:00
c9cc47df1f make setup a dialog 2024-10-14 21:55:24 +02:00
9ace252065 make cuter 2024-10-14 21:55:24 +02:00
4713b2b902 smaller volume slider 2024-10-14 21:55:24 +02:00
1d768e8d74 now featuring css 2024-10-14 21:55:24 +02:00
31027131ef chill out with cpu usage 2024-10-14 21:55:24 +02:00
056daa8a4c make more pog 2024-10-14 21:55:24 +02:00
1b298644df larg art 2024-10-14 21:55:24 +02:00
0a62dc11a3 fix initial setup 2024-10-14 21:55:24 +02:00
770b76e882 that fish is unlocked 2024-10-14 21:55:24 +02:00
bc8da35381 who up scrobbling 2024-10-14 21:55:24 +02:00
2c4e493833 stuff 2024-10-14 21:55:24 +02:00
cc1da96fef more 2024-10-14 21:55:24 +02:00
f8287e9ade kill a child 2024-10-14 21:55:24 +02:00
216be6798e shuffle gapless playback 2024-10-14 21:55:24 +02:00
c1e023276d now gapless 2024-10-14 21:55:24 +02:00
aa6835df7e removed unused widgets 2024-10-14 21:55:24 +02:00
4d3ddd1c41 more progress 2024-10-14 21:55:24 +02:00
c25df9d61b progress 2024-10-14 21:55:24 +02:00
c5161b9c01 remove many manual connections 2024-10-14 21:55:24 +02:00
84696ef1ca more changes 2024-10-14 21:55:24 +02:00
bf2edb3073 buncha changes 2024-10-14 21:55:24 +02:00
119a15eb3d simple playback 2024-10-14 21:55:24 +02:00
88adebde64 more localized strings 2024-10-14 21:55:24 +02:00
31373051ec random songs button 2024-10-14 21:55:24 +02:00
04ae260dc5 removed factory templates 2024-10-14 21:55:24 +02:00