Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Files #108

Closed
wants to merge 5 commits into from
Closed

Add Files #108

wants to merge 5 commits into from

Conversation

archekb
Copy link

@archekb archekb commented Aug 4, 2023

I have many music collections in folders and I like my structure of music. That's why I add files browser.
image


export const useFilesStore = defineStore('files', {
state: () => ({
pathID: localStorage.getItem('files_path') || '',
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this state should be stored as URL param instead of localstorage/pinia store, otherwise it breaks browser history. There is no need to use as store at all when it's only used by as single component.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not use browser history for navigation, we have all navigation elements on the page. But if you want, I can change it. But then I will add this option to client settings, because it very useful for me.

@ToxicFrog
Copy link

ToxicFrog commented Aug 17, 2023

I've been testing this locally and it works pretty nicely.

Features it's missing that I'd like to see someday:

  • grid display mode with cover art support (airsonic, at least, returns coverArtUrl as part of the response to /app/mediafile/directory/get requests, so I don't think any special handling is needed here, just wiring up the same display mode as is used for e.g. the album browser)
  • Play All and Shuffle All buttons (these appear to be /app/playqueues/$queue/play/mediafile and /app/playqueues/$queue/play/random, passed the id of the DIRECTORY entry you're viewing)
  • Add All and Add All Next buttons (these are currently missing from ASRF everywhere except at the individual-album level, so there may be more work needed in AARF itself before these can be supported in file mode)

I don't think any of those should be blockers for merging it, though.

@ToxicFrog
Copy link

Just realized it also doesn't show metadata -- just filenames.

@archekb
Copy link
Author

archekb commented Aug 19, 2023

Correct, it's not shows meta data, only filenames, it's not a mistake, if you need metadata you can add files to playlist and play it or get tracks from collection. My library building on filenames (on many files metadata are not correct or empty, but filenames are correct). Now I preparing client settings for Airsonic refix and when (if) files commit will be merged, I can add this (show meta information on Playing section) to the client settings.

@ToxicFrog
Copy link

In my case the tags are usually correct, they just aren't sufficient in themselves for useful navigation (the directory tree is generated partially from data that lives outside the tags). The exception is generally files that don't support ID3 or Vorbis tags at all, like most tracker formats.

Anyways, I've hacked file metadata display into my local version; it's really messy -- first time working in typescript -- but it seems to be working ok. I think that's sufficient that I can deploy it on my server while I wait for official support. Thank you for writing this!

@archekb archekb closed this Aug 27, 2023
@archekb archekb deleted the feature/files branch August 27, 2023 23:10
@Glandos
Copy link

Glandos commented Aug 30, 2023

What's the plan with xonic-ui?
I think that this PR could have been left open…

@archekb
Copy link
Author

archekb commented Aug 30, 2023

I have a many plans for xonic-ui:

  • finish shares (need add and modify a few methods on API, now prepare proposal) [will add PR to gonic later, maybe navidrom]
  • change player (for fix play on iOS)
  • add more settings
  • collection download
  • music upload (need add a few methods on API, will prepare proposal)
  • meta editor (need add a few methods on API, will prepare proposal)
  • jukebox remote (maybe)
  • migrate to vue3 / bootstrap 5 (remove vuex, remove bootstrap-vue)

I wanted make it in airsonic-refix, but owner of this repo do not need it. I was starts all new branches from airsonic-refix master branch (for do not makes a conflict), but at the moment it was have many incompatible changes. I can't add new features, because old do not merged, and I makes a decision to make a fork.

If you want to test or help, welcome.

PS If you need a files in airsonic-refix, code available on files change tab, you can copy it and reopen this PR.

@archekb
Copy link
Author

archekb commented Sep 3, 2023

@tamland Sorry bro, I was wrong, when you close radio stations I was think you do not need any new features to your repo and I make a fork. My bad. Only on last week I saw, you apply the Radio Stations changes. But it was very slow. I can't make a new, because many old code not merged. You can reopen any my PR and get features which you want, if you need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants