Giter Club home page Giter Club logo

ample's People

Contributors

dependabot[bot] avatar mitchray avatar mparkg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ample's Issues

Smartlists broken in v1.0.0

Just downloaded Ample v1 and when connecting to Ampache dev the smartlists are broken. It keeps saying Unable to find any smartlists though they work fine in Amapche.

In the logs, the two relevant lines are:
API function [Ampache\Module\Api\Method\PlaylistsMethod]
strtolower(): Argument #1 ($string) must be of type string, Ampache\Repository\Model\User given

Different install location

Is it possible to use Ample from a different install location than Ampache?
I'd like to be able to have a separate subdomain for both of them, which would be easy to accomplish with 2 different virtual hosts (running apache). But ample becomes entirely unresponsive when it's not in ampache/public.

I did try to build from source (with the root folder set to "/" and the server address specified) but still no luck.
I also tried to just make the ampache/public folder a separate virtual host but got the same unresponsiveness as before.

A way to automate downloading the latest Ample.

curl -s https://api.github.com/repos/mitchray/ample/releases/latest | grep "browser_download_url.*ample_.*zip" | cut -d : -f 2,3 | tr -d \" | wget -i -

Just posting this as information, was doing some maintenance on my ampache server today.

Any chance this could be transplanted to nextcloud music?

I understand that this has to be installed alongside ampache server.
But it seems the only coherence with the ampache server is the serverURL in stores/server (correct me if I'm wrong).

Nextcloud on the other hand also uses php and there's the music app which provides both ampache and subsonic interface, as well as a not-so-satisfactory webui.

I'm thinking if this could be installed standalone and the serverURL be made configurable, it might just work well with nextcloud music.

Is this doable?

[Feature Request] optimal count to evenly fill usable area For artist/album grid view.

I have a 1920 x 1080 display, I believe this is also the most common Resolution.

For the display of Grid view All Artists I am suggesting 54 instead of 50:

Screenshot 2022-05-16 at 17-16-25 Ample

For the display of Grid view All Albums I am suggesting 56 instead of 50:

Screenshot 2022-05-16 at 17-17-36 Ample

The default of 50 would be less of an issue if it remembered what I last set the page Limit to, but I still think defaults that fill the page are a good idea.

Trim search input

This sounds like a silly request, but when I am searching for a song from my cell phone, it often auto completes with a space at the end, so the song that I am looking for is gone, until I erase the space.

For example, when my four year old requests the Chipmunks song for the millionth time, I now open the Ampache web interface, type in chipmunks, it'll be input as chipmunks**(extra space)** and shows no results. I have to erase the space for it to show the song that she wants to hear.

If you could add the code to trim the extra space for me before sending the search to Ampache, that would be a wonderful gift to me. Thanks again.

when choosing an artist its not showing albums

Very nice work !
as soon as i saw it i tried it !
just installed it on a 6.1 ampache (docker), when choosing an artist it shows "Loading" on Release tab without results, while the other tabs are ok.

[Feature Request] Make Player / Playlist area collapsable for more viewing area for browsing.

Ampache when it does not have music playing, like when you first visit, does not have the player obscuring part of the screen, this is useful while browsing. I was thinking a way to collapse the player at the bottom would be nice, maybe an unobtrusive collapse button in the bottom left?

2022-05-16_18-47-18

Would also be cool if the search, logout, dark/light selector could be collapsed into the left menu bar, but I can see how that might be more of a design challenge. (The most difficult part would be the search box, because when the left is collapsed you would have to use a search icon that pops open a search box or something)

White Page Browser /ample

Hello,

wanted to use your themes. Complete Ample folder after Ampache Public folder.

Call the page: https://dyndns.ampache.de/ample

Result: White page. :-( Now I don't know if it's because of the apache2.conf, because maybe the location is missing.

Do you have a tip, your theme looks very good and would like to use it.

[Feature Request] YES! THANK YOU! can we please have this traslate to desktop notifications?

Thank you SOOOOOOOO much for this new notification system. I absolutely love the notification for unrated song. I actually previously created a request for such a feature: ampache/ampache#2735

Would love it if your Notification system sent the Notification to the Operating System.

The base Ampache does this somehow. Firefox prompts me to send notifications, and then the notifications come in on my KDE notification tray widget. I have no idea if you use KDE or are familiar with it, but here are screenshots from KDE with Firefox and the regular Ampache:

2022-05-26_18-07-28

2022-05-26_18-04-15

Advanced search rules "Added" and "Updated" are awkward to use

For the advanced search rules "Added" and "Updated", the input is supposed to be in the ISO format like "2023-08-17T23:55". However, in the advanced search view of Ample, the input field is of numeric type in these cases. This means that on Chrome, it's impossible to enter the date like shown above. What's even worse, on Firefox, you can enter the date as a string but any non-numeric input will get converted to "null" when the search query is sent to the server.

Now, the DB used by the Ampache server seems to allow entering the datetime also by leaving the non-numeric characters off like "202308172355". It's also possible to omit the time part like "20230817". Hence, using these search rules is not completely impossible but figuring out the correct way to use them is far from trivial.

Ideally, there could be some kind of date selector widget. But it would already go a long way if there was a string-type input field along with the hint "yyyy-mm-dd".

Catalog Typ: Video (mp4 Stream)

In Default Themes you have the possibility to record and also stream video .mp4 via the catalog Type: Music Clips.

Do you not have the menu for videos in the "ample" yet?
Is it perhaps planned? Currently I don't see it, although there is a video catalog created in the ample.

Best thanks

Feature - Bookmarks

  1. Can you add a section for Bookmarks? Would be great if we want to use it with audiobooks.
    get_bookmark Api5+
    bookmark_create Api5+
    bookmark_edit Api5+
    bookmark_delete Api5+

  2. Continue where you left on different device? (after you logged in check and start to play where u left or can be great to save time to time just in case you reload or close the page)
    This is the subsonic api not sure what is the ampache api but it should have some equivalent(it works with this api)
    http://your-server/rest/getPlayQueue
    http://your-server/rest/savePlayQueue

  3. Variable playback speed

nginx rewrite rule

I don't quite have the time to open a nice PR or wiki edit for this, but I'm running Ample on nginx and this works for me:

location /ample {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /ample/index.php;
    }
}

Add Remember Me Feature

Hey,

is there any way that you can implement a remember me feature? I constantly get logged out of ample and it would be awesome if I didn't have to type my password everytime.

Thanks in advance!

[Feature Request] Paged results for genres.

When I currently click Genres > Classic Rock > Albums , it takes quite a while to load all 1200+ albums (1,050 requests, 17 seconds)

Paged results would be useful in loading things faster.

Random Artists is blank when running against ampache-dev

When trying to fetch random artists, I get a blank screen and the log files log an SQL error. Random albums and recent artists work fine.

2022-09-13T13:46:07-04:00 [ampache] (Ampache\Module\Api\Authentication\Gatekeeper) -> API session [3866b27fbfa5794ccc1f0929cf46c2e6]
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\Api\ApiHandler) -> API function [Ampache\Module\Api\Method\AdvancedSearchMethod]
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key 0 in file /opt/ampache/src/Repository/Model/Search.php(1520)
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Trying to access array offset on value of type null in file /opt/ampache/src/Repository/Model/Search.php(1520)
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Trying to access array offset on value of type null in file /opt/ampache/src/Repository/Model/Search.php(1520)
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key "base" in file /opt/ampache/src/Repository/Model/Search.php(1134)
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key "table_sql" in file /opt/ampache/src/Repository/Model/Search.php(1134)
2022-09-13T13:46:07-04:00 [ampache] (log.lib) -> [Runtime Error] Undefined array key "parameters" in file /opt/ampache/src/Repository/Model/Search.php(1149)
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query SQL: ORDER BY RAND()  LIMIT 18 null
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query MSG: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY RAND()  LIMIT 18' at line 1
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query SQL: ORDER BY RAND()  LIMIT 18 null
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query MSG: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY RAND()  LIMIT 18' at line 1
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query SQL: ORDER BY RAND()  LIMIT 18 null
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query MSG: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY RAND()  LIMIT 18' at line 1
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query SQL: ORDER BY RAND()  LIMIT 18 null
2022-09-13T13:46:07-04:00 [simon] (Ampache\Module\System\Dba) -> Error_query MSG: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY RAND()  LIMIT 18' at line 1

Add Translation/Localization (volunteering)

Hello Mitch,
first of all thanks for your beautiful UI and project!
We would like to add translation capability to the project, and would volunteer to write (most of) the translation code and a German translation. We just wanted to ask for your thoughts, and whether you have any ideas or requirements for the implementation (e.g. to get a pull request merged).

Here's an article on localization/translation in Svelte:
https://blog.logrocket.com/implementing-localization-svelte/

Here's a demo for localization:
https://svelte.dev/repl/de39de663ef2445b8fe17b79c500013b?version=3.58.0

Note that personally I'm just getting started with Svelte (though experienced with PHP, JS, etc), but I will obviously get into it for this project.
We already have a working Ampache community server online, and are looking to transition to Ample as it's a vast UI improvement, but we need a German translation for part of our community, as exists in standard Ampache. (and maybe a French one, but we'll definitely do German first)

additional resources:
POEditor (localization management platform with optional automatic translation, free for OS):
https://poeditor.com/kb/open-source-localization

[ Feature Request ] Make "All Artists" & "All Albums" The default view or remember last viewed.

Once you have a fairly Large collection "Recently Updated" becomes something you may rarely look at and you will most of the time want to view "All"

For this reason I think it would be more convenient to make "All" the default, but if you disagree maybe there is a way Ample can remember the view that I last used? That way if I click Artists or Albums from the left I will return to the "All" view.

[Feature Request] new view mode "All Albums" and "Genre>Albums" similarly to the "Newest Albums"

When you click Albums from the left menu, the landing page displays "Newest Albums" you can repeatedly click the "+" to load more. What you end up with is a nice grid view with large album arts.

I would love it if I could browse "All Albums" and "Genre>Albums" in a similar view, a paged view that loads x number of items in this format:

Screenshot 2022-04-24 at 13-55-57 Ample

EDIT: I forgot that you actually planned this, so looking forward to it: #1 (comment)

Bug? Recently Played does not actually display the Most recently played

When you click "Recent" from the INSIGHTS menu on the left, the items displayed are indeed recently played items, but they are not the most recently played items, you can see this by comparing the recently played items displayed in the regular Ampache, you can also see this happening just by looking for the last few songs you played and seeing they are not there.

Chrome 105 breaks some layouts

Disable CSS Container Queries in chrome://flags as a workaround

Container queries are released and enabled by default as of v105, so the polyfill no longer activates. However the container queries are not taking effect.

Blank page when loading in nginx with non-standard port

I host my ampache server on a non-standard port (5006), so I would access it at http://xxx.xxx.net:5006/ample . When I get there, I just get a blank page, and the line in page source looks for a link that isn't there:

<link rel='stylesheet' href='//xxx.xxx.net:5006/ample/public/build/bundle.css'>`

Interestingly, when trying to load the stable demo override line by uncommenting the line:
detectedURL = "https://demo.ampache.dev";
from ample/src/stores/server.js I now get an entry in my nginx error log:
2022/09/01 08:15:37 [error] 19063#19063: *209 open() "/opt/ampache/public/ample/public/build/bundle.css" failed (2: No such file or directory), client: xx.xx.xx.xx, server: xxx.xxx.net, request: "GET /ample/public/build/bundle.css HTTP/1.1", host: "xxx.xxx.net:5006"

Could the port number in the url be throwing the script off? Or is there more rewriting that needs to be done in the nginx config file? Config file included below for completeness:

`server {

# listen to
# listen  [::]:used_port; #ssl; ipv6 optional with ssl enabled
listen       5006; #ssl; ipv4 optional with ssl enabled

server_name xxx.xxx.net;
charset utf-8;

# Logging, error_log mode [notice] is necessary for rewrite_log on,
# (very usefull if rewrite rules do not work as expected)

     error_log       /var/log/xbmc/ampache/error.log; # notice;
     access_log      /var/log/xbmc/ampache/access.log;
     rewrite_log     on;

# Use secure SSL/TLS settings, see https://mozilla.github.io/server-side-tls/ssl-config-generator/
# ssl_protocols TLSv1.2;
# ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-E    CDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
# ssl_prefer_server_ciphers on;
# add_header Strict-Transport-Security max-age=15768000;
# etc.

# Use secure headers to avoid XSS and many other things
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "no-referrer";
add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src 'self'; object-src 'self'";

# Avoid information leak
server_tokens off;
fastcgi_hide_header X-Powered-By;

root /opt/ampache/public;
index index.php;

# Somebody said this helps, in my setup it doesn't prevent temporary saving in files
proxy_max_temp_file_size 0;

# Rewrite rule for Subsonic backend
if ( !-d $request_filename ) {
    rewrite ^/rest/(.*).view$ /rest/index.php?action=$1 last;
    rewrite ^/rest/fake/(.+)$ /play/$1 last;
}

# Rewrite rule for Channels
if (!-d $request_filename){
  rewrite ^/channel/([0-9]+)/(.*)$ /channel/index.php?channel=$1&target=$2 last;
}

# Beautiful URL Rewriting
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&name=$5 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&name=$7 last;
    rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&player=$7&name=$8 last;
    rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&bitrate=$7player=$8&name=$9 last;
    rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&transcode_to=$7&bitrate=$8&player=$9&name=$10 last;

    # The following line necessary for me to be able to download single songs
    rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/action/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4action=$5&name=$6 last;

    # used for transfering art work to some clients, seems not to work for clementine because of an clementine-internal issue
    location /play {
                     if (!-e $request_filename) {
                             rewrite ^/play/art/([^/]+)/([^/]+)/([0-9]+)/thumb([0-9]*)\.([a-z]+)$ /image.php?object_type=$2&object_id=$3&auth=$1;
                             break;
                     }
                     rewrite ^/([^/]+)/([^/]+)(/.*)?$ /play/$3?$1=$2;
                     rewrite ^/(/[^/]+|[^/]+/|/?)$ /play/index.php last;
                     break;
    }

location /rest {
limit_except GET POST {
deny all;
}
}

location ^~ /bin/ {
deny all;
return 403;
}

location ^~ /config/ {
deny all;
return 403;
}

location / {
limit_except GET POST HEAD{
deny all;
}
}

location ~ ^/.*.php {
fastcgi_index index.php;

# sets the timeout for requests in [s] , 60s are normally enough
    fastcgi_read_timeout 600s;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# Mitigate HTTPOXY https://httpoxy.org/
    fastcgi_param HTTP_PROXY "";

# has to be set to on if encryption (https) is used:
    # fastcgi_param HTTPS on;

    fastcgi_split_path_info ^(.+?\.php)(/.*)$;

# chose as your php-fpm is configured to listen on
    fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    # fastcgi_pass 127.0.0.1:8000/;

}

Rewrite rule for WebSocket

location /ws {
rewrite ^/ws/(.*) /$1 break;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8100/;
}
}
`

URL was not found on this server.

Hi , if im refreshing the webpage im getting "The requested URL was not found on this server." (url: http://localhost/ample/albums ) , using apache +php7.4 on Ubuntu. Am i missing something or its just a bug? Thanks

Edit: AllowOverride All was None and its fixed now , went from NGINX to apache2 and i missed that thing.

Access denied on v.50.0 with nginx

When running nginx and the newly made v.50.0, I get a 403/Forbidden page. Oddly enough, if I were to go to one of the subpages (http://myserver.com:5006/ample/smartlists for example) I can get to the login page, then I can click on the logo on the top left corner and get back to the home page without issue.

The error looks like it could be related to this Stack Overflow article; I too have a symlink from the public folder of Ampache back out to the root folder where ample is located.

Bug? clicking images in search results not working

If I search for "Ozzy" I have to click the text, clicking the image is not working.

The image does appear to be a link, and clicking it even update the address bar of the browser, but it does not actually take me there. To actually get the link to load I have to click on the text.

2022-04-24_14-55-07

[Feature Request] Responsive Advanced Search.

You have done an amazing job of making everything responsive, I absolutely LOVE IT!

I noticed one thing is not yet fully responsive, that is the controls in the box at the top of the Advanced Search page and Multi-rater page.

I would prefer that the box take up more room vertically (more rows) as the page becomes narrow, so that all controls are easily usable on a phone.

With how much work you put into making things responsive I am sure your already aware of it, so this issue can just be used to track this feature.

Does it supports multiple languages? +feature request

Does it supports multiple languages? or i have to edit each file? (maybe it should take the lang from ampache? )

Is it possible to add the register / Lost Password on the login page? (in the same template not an redirect to ampache)

Clicking on the image should take you to the list of Album / Artist view etc.. , names are a bit counter intuitive and small to click on them.

No longer fetching art

I've noticed when using the latest dev of Ampache and Ample 50.1 that Ample stopped fetching art, but going into the Ampache page for the artist or album works perfectly. The log file in Ampache complains that:

(Ampache\Repository\Model\Catalog) -> Database already has image.

Can you replicate this on your end?

question!

i have moved the ample folder to /public/ as explained, but nothing has changed!, at /public/ample everything is just white, what should i do to use the desgin ?

[Bug] Column resize - All albums, index is off after Date?

You can resize the first couple columns, but it gets weird when you use the handle just after the date header.

I would think the column header should line up with whats in the column, otherwise it gets a very disconnected appearance.

ample-all-albums-columns

Same issue, all Artists... maybe it is because of the controls column that does not have a header?

edit: nope I dont think that is the issue... seems to also do it on the genres page (the one that lists all genres)

The "All" tab of the "Album Artists" view lists also artists without albums

The "All" tab of the "Album Artists" view is not limited to album artists only, it shows all the artists known by the server. The default "Random" tab of the same view is correctly limited to showing only artists having own albums.

The contents for the default "Random" tab of the "Album Artists" view are fetched with a query like https://develop.ampache.dev/server/json.server.php?action=advanced_search&type=artist&operator=and&random=1&offset=0&limit=50&rule_1=album_count&rule_1_operator=4&rule_1_input=0&auth=a89f9acd88061901f21c8f8a7d48d7b9&version=6.0.0.
Here, artists without own albums are filtered out by requiring that the album_count > 0.

Meanwhile, the list of artist names shown on the left apparently comes from this query
https://develop.ampache.dev/server/json.server.php?action=advanced_search&type=artist&offset=0&limit=0&operator=and&rule_1=title&rule_1_operator=5&rule_1_input=&auth=a89f9acd88061901f21c8f8a7d48d7b9&version=6.0.0.
This query fetches all the artists but apparently the result is later filtered based on the albumcount property in the result objects.

But then, when the "All" tab is activated, there is another query like
https://develop.ampache.dev/server/json.server.php?action=advanced_search&type=artist&operator=and&limit=0&rule_1=title&rule_1_operator=8&rule_1_input=%5E&auth=a89f9acd88061901f21c8f8a7d48d7b9&version=6.0.0
This again fetches all the artists (filtered with an empty regex) but this time, there doesn't seem to be any filtering on the front-end, either.

Note that there would be many alternatives to fetch the album artists from the server. One is to use the artists API method and pass the parameter album_artist=1. Or if you really want to use the advanced_search, then it's possible to pass it the parameter type=album_artist instead of type=artist.

It might also be a good idea to avoid the regex searches when not strictly necessary, as they may have poor performance on large databases.

Feedback after checking out the ample client on the ampache demo site.

I just checked out the ample client on the ampache demo site.

I see that the pages for Playlists and Smartlists are fully responsive, love that!

The Artists and Albums landing page that shows Newest, Random, also looks very nice and responsive.

When you click "All Artists" or "All Albums" there does not seem to be a grid view, only the list view that kinda looks like a spreadsheet. Do you have plans to also add a tiled grid view for "All Artists" and "All Albums"?

The Genres page there is an affect of two scrollbars, the whole page, and then the genre list within, I think it might be better if the inner element did not scroll, so that you only need to scroll the main page, however that is just my opinion on that.

Insights: Recent and Newest looks to be fully responsive, however if you go to insights: Trending and Forgotten , it does not have that same nice responsive layout, it adds horizontal scroll bars.

On the pages that use the spreadsheet appearance, such as Genres and Insights: Top rated. I think the current table layout with the borders looks a bit dated, I actually think the list view of the base ampache that simply uses alternating colors for each row looks a little more modern.

Some of these are my personal opinion, and this post is meant to be constructive, a lot of Ample actually seems to be a lot more responsive than the stock Ampache UI, so I do really like a lot of the elements of Ample, also the left navigation menu also feels more unified / modern.

I also like the dark/light theme that is easily toggled.

The page for an individual artist that shows discography, popular songs, all songs, etc. is a very beautiful page!
Likewise the page for an individual album also looks very beautiful.
Also the layout of the songs for an individual album, has a nice table appearance(it looks modern), something like this might be a better table layout for pages such as genres, "all artists", "all albums", "insight:top rated"

I noticed artist shows the image in a circle, I like the look of the images on albums better where it just has a rounded corner, cutting it down to a circle would chop off important parts of some of my artist images.

this table layout has a dated look:
2021-09-07_19-45

this is the table layout on stock ampache which I like better:
2021-09-07_19-55

Here is the table layout from ample individual album song list, which I also really like:
2021-09-07_19-53

I hope some of this is helpful, will be keeping a close eye on Ample :)

[Bug] Artists > ALL > Click into artist > now click back (you dont return to ALL view, instead you return to Recently Updated.)

I just noticed something: when you click into Artists > ALL > Click into an artist > now click back

What you see is that you do not go back to the "ALL" listing that you were at previously, instead you end up at "Recently Updated."

This same behavior applies to Albums.

This might also close the feature request I opened (I am not sure): #21

PS: I absolutely love the "By Year" feature that you added to Albums, that is really slick! I also really love the Row of Letters to jump to the page with a particular letter. It also seems you made some things even more responsive, different page widths all display great! I LOVE IT!!! (even the LIST view collapses like a ninja!)

Updating album art overwrites artist art too

When triggering the (awesome!) album art update feature in 0.42, it will often overwrite my artist art as well, often with the same album cover that it's downloading. This is useful if the artist art is blank, but when I grabbed the proper art for the artist, it's kind of frustrating.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.