Coder Social home page Coder Social logo

dmouayad / dune Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 3.51 MB

DUNE offers seamless music streaming from YouTube, YouTube Music, Spotify and local library.

License: GNU Affero General Public License v3.0

Kotlin 0.01% Swift 0.04% Objective-C 0.01% Dart 94.88% CMake 1.92% C++ 2.60% C 0.14% HTML 0.40%
cross-platform flutter flutter-windows listening-stats music music-player music-streaming offline-music offline-music-player spotify windows-app youtube

dune's Introduction

Who Am I / What I Do

A Longlife-Learner Software Engineer


๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ Ask me anything about:

Flutter Dart


๐Ÿ“ช Contact Info:

Facebook Telegram

๐Ÿ›  Projects

  • DUNE a cross-platform music player and streaming application.
  • BooksGenie a personal library app.

dune's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

dune's Issues

create Artist page

What needs to be done:

  • create ArtistPageController
  • create ArtistPageRoute
  • add this route as a sub-route for BaseHomeScreenBodyRoute
  • create ArtistPage
  • navigate to this page when ArtistCard is pressed.

[SidePanel]: panel width not set correctly

Description:

  • On app startup and when the panel is pinned, initial width is not set to the maximum and this results in not showing correct panel layout and components.
  • When changing the window size(on Desktop) the panel width is not being updated accordingly.

implement "LibraryPage" routes

what needs to be done:

  • add routes for library (tracks, albums, artists) pages.
  • implement sorting and filter UI for: artists, albums, tracks.

New side panel design

What needs to be done:

  • replace BaseAppPreferences.tabsModeEnabled with a new Enum type; TabsMode which can be either vertical, horizontal or disabled.
  • Create new Side Panel Widget which will have:
    • navigation icons pinned at the top.
    • list of tabs if current TabsMode is TabsMode.vertical
    • previous and next buttons
    • playlists dropdown button
    • Local library dropdown button containing(tracks, artists, albums and maybe folders & genres)

implement `LocalMusicLibrary`

What needs to be done:

  • LocalMusicLibraryFacade: contains only a public interface which can be used by other components. Has a LocalMusicRepository

  • AudioLibraryScanner (with unit tests).

  • Implement the following functions in LocalMusicLibraryFacade:
    - addMusicDirectory
    - removeMusicDirectory

[AppNavigation] [Tabs] - new listener is added on `tabsRouters` despite some routers already have a listener

Description:

  • Because adding a new tab results in creating a new GoRouter instance and we need to listen to changes on this router:
    a new listener is added for every tab-router even if we already added a listener on it.
  • Current implementation removes the listener before adding a new one but it seems to not have any effect i.e. doesn't remove existing listener.

Suggestions:

  • create a list of keys, each key belongs to a GoRouter instance.
  • we acquire the keys from the object hashCode.

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.