Fiete Börner
4298774e7f
implement simple multi disc support ( #687 )
...
* add disc field to songs table via migration
* add disc field to song model
* collect disc information in file sync process
* sort song list by disc and track number in album context
* check the disc field in file test
* remove nullable flag from disc field in add_disc_into_songs migration
* fix php code style issues
* fix js code style
* fix sort usage in song-list
* sort songs by inserting into queue by clicking the album/artist item play button (album_id, disc, track)
* add disc to sync tags in media model
2017-12-03 11:02:31 +01:00
Fiete Börner
28a98089b5
fix pusher auth endpoint path ( #674 )
...
convert static string to template string to use the variable
2017-10-27 23:49:08 +01:00
Fiete Börner
c970481f19
add support for non root installations ( #673 )
...
* remove all absolute forward slashes to make relative urls
* set global baseUrl in common blade template
use this variable in all api calls
* fix absolute url paths in scss
set a base href in app index files for all relative resource paths
* rename baseUrl to BASE_URL
2017-10-26 15:59:53 +01:00
Phan An
44b95b3490
Merge branch 'master' of github.com:phanan/koel
2017-10-21 17:56:42 +01:00
Phan An
c5b0ba98e8
Use babel-plugin-root-import
2017-10-03 00:01:37 +01:00
Phan An
f8ed3a1ee5
Use global variables for pusher config instead of dotenv-webpack
2017-10-02 19:38:42 +01:00
Phan An
e689dde778
Import process as a workaround for Babel transforms
2017-10-02 18:20:25 +01:00
Phan An
5e0dcf2078
Make tests green
2017-10-02 02:01:39 +01:00
Phan An
4140780f0e
Make volume controller work
2017-09-08 23:15:27 +01:00
Phan An
05888b0b62
Fix JS styles
2017-08-28 12:13:00 +01:00
Phan An
dc7c6bec45
Refactor the remote controller into its own page
2017-08-27 16:53:17 +01:00
Phan An
58b4e8dbbf
Move socket listeners to playback service
2017-08-26 22:42:36 +01:00
Phan An
75b0200633
Make socket.init() async
2017-08-26 22:42:14 +01:00
Phan An
9c39ef9e80
First Pusher actions
2017-08-25 01:38:02 +01:00
Phan An
cfb3df2bcc
Add a remote controller view
2017-08-25 01:37:21 +01:00
Phan An
48c67fff5e
Display YouTube title
2017-08-19 17:53:37 +01:00
Phan An
24eeebde06
Only count a song as played after 10s ( closes #619 )
2017-08-06 10:55:02 +01:00
Phan An
fbeef63255
More refactoring
2017-05-11 09:32:32 +07:00
Phan An
1f110ddff6
Various refactors and cleanups
2017-05-08 00:41:12 +07:00
Phan An
d83ee5e012
Refactoring
2017-05-05 23:20:51 +07:00
An Phan
65400d40ee
Comment fix
2017-03-27 18:05:43 +08:00
An Phan
96e5c62ce0
Add "Play at 128kbps on mobile" setting
2017-03-26 17:02:03 +08:00
An Phan
632c6272fe
Make estlint happy
2017-03-26 16:13:13 +08:00
An Phan
43ef5cad26
Roll back the previous change
2017-03-26 11:53:04 +08:00
An Phan
26e57bd643
Fix play/pause handling bug
2017-03-26 11:46:17 +08:00
An Phan
cc43d5133a
Override playState of mediaSession for Chrome Android
...
Per Google Developers official doc:
> Note: The browser may consider that the web app is not playing media
> when files are seeking or loading. You can override this behaviour by
> setting navigator.mediaSession.playbackState to "playing" or "paused".
> This comes in handy when you want to make sure your web app UI stays in
> sync with the media notification controls.
2017-03-26 11:31:30 +08:00
An Phan
4618c8744e
Add media notif handlers on Android
2017-03-26 11:25:56 +08:00
An Phan
3fc10e3043
Preload the next song as soon as we can
2017-03-22 15:44:13 +08:00
An Phan
84d523d240
Refactor
2017-01-17 22:09:27 +08:00
An Phan
9537ad26b1
Refactor
2017-01-17 15:32:03 +08:00
An Phan
086f52761a
Implemented virtual scroll for desktop
2017-01-14 21:09:38 +08:00
An Phan
600e937e4e
Fix link
2016-12-21 00:02:58 +08:00
An Phan
9dc0ddebb5
Remove jQuery
2016-12-20 23:48:37 +08:00
An Phan
d43c62a7b9
Keep recently played songs between sessions
2016-12-19 15:34:51 +08:00
An Phan
f22b108bfb
Normalize artist items playorder ( closes #374 )
2016-12-01 18:32:11 +07:00
An Phan
adfebd0167
Lint everything
2016-11-26 10:25:35 +07:00
An Phan
cab2ab163d
Remove redundant import
2016-10-18 14:53:23 +08:00
An Phan
e3ee03db24
Complete YouTube feature
2016-07-30 23:32:17 +08:00
An Phan
444d07ec8f
Remove obsolete param docs
2016-07-16 11:31:51 +07:00
An Phan
11712932b3
A better router.go
2016-07-11 09:41:35 +08:00
An Phan
032b9bee7c
Enable navigation with a basic router
2016-07-11 01:55:20 +08:00
An Phan
77fa77081d
Fix login URL regex
2016-07-09 13:20:27 +08:00
An Phan
fad1d2f335
Remove redundant method
2016-07-09 12:07:55 +08:00
An Phan
04959d8eb4
Better test for failed login requests
2016-07-09 12:06:49 +08:00
An Phan
9becc85bdd
Replace vue-resource with jQuery and save a lib
2016-07-09 12:06:14 +08:00
An Phan
405923315f
Use promises
2016-06-27 14:11:35 +08:00
An Phan
8657387f0a
A change of heart re:indent size
2016-06-26 00:05:24 +08:00
An Phan
7f4bb0706d
Better organizing services and stores
2016-06-25 18:15:57 +08:00
An Phan
4de0a8456b
Fix the artist loading & info bug
2016-06-25 16:24:56 +08:00
An Phan
2f8a152c98
Switching to Vue2.0
2016-06-25 16:21:39 +08:00
An Phan
0d404d6f29
Rewrite utils and filters, prepare for Vue 2.x
2016-06-24 23:55:44 +08:00
An Phan
fc325e5262
Refactor media info services
2016-06-05 19:29:49 +08:00
An Phan
774ae68efb
Finish Album download, starting Artist download
2016-06-04 19:20:11 +08:00
An Phan
5185f3dc6b
Finish structure and song download
2016-06-03 01:53:26 +08:00
An Phan
9a302fd111
Album item's Play button should play by order ( fixes #314 )
2016-05-30 14:31:12 +08:00
An Phan
4dc06719b3
First try
2016-04-17 23:38:06 +08:00
An Phan
0cb5ae265f
Export modules from utils
2016-04-10 16:51:06 +07:00
An Phan
1efe92f7b8
Revamp preference store
2016-04-05 17:19:20 +08:00
An Phan
cfdb4034d1
Refactor
2016-04-05 15:49:03 +08:00
An Phan
481d012d6c
Use explicit imports for lodash functions
2016-03-31 15:44:36 +08:00
An Phan
be4378d33f
Use proper const wherever applicable
2016-03-28 21:38:14 +08:00
An Phan
e0d783f366
Use getters/setters
2016-03-18 12:45:12 +08:00
An Phan
f6d0db1b4f
Make let, not var
2016-03-16 11:51:07 +08:00
An Phan
48c06592ab
Fix stop() method when there's no current song
2016-03-14 20:47:45 +08:00
An Phan
01480432a8
Massive jslint fix
2016-03-14 01:00:32 +08:00
An Phan
6b2efbf12a
Move nprogress logic to main.js
2016-03-11 18:49:54 +08:00
An Phan
03e8dbd6b9
Add a loading progress bar
2016-03-11 17:55:40 +08:00
An Phan
2d08223106
Attempt to preload the next song ( resolves #232 )
2016-03-06 16:19:37 +08:00
An Phan
70a34401f6
Better lyrics handling
2016-03-06 15:44:38 +08:00
An Phan
29ac291340
Remove obsolete comments
2016-03-01 00:52:49 +08:00
An Phan
a7e5cdcb00
Eliminate Vue.http deprecated warning
2016-03-01 00:50:25 +08:00
An Phan
921b8a66c7
Manually set media src to fix equalizer bug
2016-02-21 15:03:48 +08:00
An Phan
15af325370
Upgrade plyr to fix player bugs
2016-02-21 14:28:22 +08:00
An Phan
b0a7329a57
Fix all kinds of bug after the poor merge at #243
2016-02-20 21:39:17 +08:00
An Phan
e78f498e13
Resolve issues after merge
2016-02-18 22:59:09 +08:00
rundef
bd937f6d07
Remove bower. Fetch plyr from npm instead
2016-02-17 10:53:53 -05:00
An Phan
6a382c51b2
Use configured app name
2016-02-14 15:38:00 +08:00
An Phan
cb23591f70
Use Vue in a modular way
2016-02-09 11:57:08 +07:00
An Phan
3ca0009f73
Add a home (dashboard) view
...
A home/dashboard view has been added, which contains most
recently-played songs (in the current session), top songs, albums, and
artists. Song playback has also been revised with proper Vue's
reactivity, resulting in a much better and cleaner code base.
2016-02-08 19:25:44 +07:00
An Phan
7e67d5db59
Add title to audio element
2016-01-30 23:38:55 +08:00
An Phan
5b496915a6
Song now properly skips when error
2016-01-30 23:14:15 +08:00
An Phan
20157e489e
Fix playback path
2016-01-28 15:58:41 +08:00
An Phan
8476a042e3
Add CDN support
2016-01-25 21:10:10 +08:00
An Phan
bbce9d9adf
Fix repeat-one logic
2016-01-25 15:21:00 +08:00
An Phan
c2aef059ce
Add a preamp into the equalizer
2016-01-19 19:00:23 +08:00
An Phan
c017a8dab6
Better jsdoc
2016-01-17 22:26:24 +08:00
An Phan
545c5b9ced
Disable equalizer on Apple devices
2016-01-13 21:27:42 +08:00
An Phan
47064547f9
Add a (basic) equalizer
2016-01-11 23:25:58 +08:00
An Phan
52b115aabd
Better jsdoc
2016-01-07 17:03:38 +08:00
An Phan
96c91d248b
Better play control on mobile
2016-01-07 12:22:02 +08:00
An Phan
d17b9d8103
Allow song selection on mobile devices
2016-01-07 00:41:59 +08:00
An Phan
0460d69f65
Bug fixes and enhancements
2016-01-06 15:17:52 +08:00
An Phan
eeeb03b313
Playback now initializes only once
2016-01-03 16:09:34 +08:00
An Phan
12e4bd473f
Basically completed jwt
2015-12-30 11:29:35 +07:00
An Phan
950772a701
Bump version
2015-12-30 11:15:21 +07:00
An Phan
a083696289
Add updateNowPlaying for Last.fm
2015-12-23 14:26:16 +08:00
An Phan
f449a1a744
Add Last.fm scrobbling functionality
2015-12-20 20:17:35 +08:00
An Phan
9f6e46371e
Merge branch 'master' into lastfm
2015-12-20 10:07:59 +08:00
An Phan
6457528990
Fix notification bug #67
2015-12-20 10:07:39 +08:00
An Phan
cf27ed713d
First integration with Last.fm
...
Koel can now integrate and use the rich information from Last.fm. Now
whenever a song is played, its album and artist information will be
queried from Last.fm and cached for later use. What's better, if an
album has no cover, Koel will try to update its cover if one is found on
Last.fm.
In order to use this feature, users only need to provide valid Last.fm
API credentials (namely LASTFM_API_KEY and LASTFM_API_SECRET) in .env. A
npm and gulp rebuild is also required - just like with every update.
2015-12-20 00:36:44 +08:00