Jump to content

Elisa: Difference between revisions

From KDE Community Wiki
Mgallien (talk | contribs)
Add howto build instructions
Mgallien (talk | contribs)
m typo
Line 36: Line 36:
apt-get install qtbase5-dev qtmultimedia5-dev qtdeclarative5-dev libqt5svg5-dev libkf5i18n-dev libkf5filemetadata-dev baloo-kf5-dev libkf5config-dev libkf5kcmutils-dev libkf5declarative-dev libkf5coreaddons-dev libkf5doctools-dev libkf5xmlgui-dev libkf5crash-dev libkf5dbusaddons-dev
apt-get install qtbase5-dev qtmultimedia5-dev qtdeclarative5-dev libqt5svg5-dev libkf5i18n-dev libkf5filemetadata-dev baloo-kf5-dev libkf5config-dev libkf5kcmutils-dev libkf5declarative-dev libkf5coreaddons-dev libkf5doctools-dev libkf5xmlgui-dev libkf5crash-dev libkf5dbusaddons-dev


The way Elisa application is built is completely standard for an application based on Qt(, KDE Frameworks 5 and cmake:
The way Elisa application is built is completely standard for an application based on Qt5, KDE Frameworks 5 and cmake:


; [[Guidelines and HOWTOs/Build_from_source| Build from source]]
; [[Guidelines and HOWTOs/Build_from_source| Build from source]]

Revision as of 14:02, 4 January 2018

Elisa

Elisa is a simple music player aiming to provide a nice experience for its users.

Try It

Some packages ready to install may exists. As far as I know, there is an AUR for ELISA. There should also be a package in Neon.

Compilation from source

Elisa has a few dependencies mainly from Qt5 and KF5. Currently the list is:

  • Qt5::Core
  • Qt5::Network
  • Qt5::Qml
  • Qt5::Sql
  • Qt5::Multimedia
  • Qt5::Svg
  • Qt5::Gui
  • Qt5::Widgets
  • Qt5::Quick
  • Qt5::DBus (recommended)
  • KF5::I18n
  • KF5::Config
  • KF5::KCMUtils
  • KF5::Baloo (recommended)
  • KF5::Declarative (recommended)
  • KF5::CoreAddons (recommended)
  • KF5::FileMetaData (recommended)
  • KF5::DocTools (recommended)
  • KF5::XmlGui (recommended)
  • KF5::Crash (recommended)
  • KF5::DBusAddons (recommended)

For example on Debian and derivatives you may use:

apt-get install qtbase5-dev qtmultimedia5-dev qtdeclarative5-dev libqt5svg5-dev libkf5i18n-dev libkf5filemetadata-dev baloo-kf5-dev libkf5config-dev libkf5kcmutils-dev libkf5declarative-dev libkf5coreaddons-dev libkf5doctools-dev libkf5xmlgui-dev libkf5crash-dev libkf5dbusaddons-dev

The way Elisa application is built is completely standard for an application based on Qt5, KDE Frameworks 5 and cmake:

Build from source

The next state is to get Elisa sources and build them:

git clone https://anongit.kde.org/elisa.git

cd elisa

mkdir build

cd build

cmake ..

make

You can execute it with the following command:

./elisa/build/src/elisa

Goals

  • being easy to setup (ideally, one would not setup anything before being able to use it) ;
  • being fully usable offline (or in privacy mode) ;
  • being open to leverage online services but not a development priority (the experience should not be degraded when you are offline) ;
  • being focused on satisfying users' goals ;
  • being focused on music player (managing your music collection is not a development priority). This means that it is not a direct fulfillment for people needing that. This seems that a dedicated application would be more appropriate ;
  • being as much as possible bug free (meaning stability has higher priority than feature development) ;
  • targets Linux Plasma Workspace, other Linux desktop environments, Android and Windows ;
  • being able to leverage UPnP DLNA.

Design Open Questions

The design of Elisa currently leaves open questions about the direction. At least the following points need an identified solution that could be implemented:

  • Implement User Centered Design to help guide the development (definition of persona, ...) ;
  • trying to combine an interface to be used with the mouse and with the touchscreen commonly found on laptops ;
  • how to decide what is done by single click, double click or single long click.

Description of the Application Architecture

Currently music is retrieved from Baloo and put in an SQLite memory database. Live refresh from Baloo is not working.

The user interface is done in qml with Qt quick controls 1.

The UPnP support is probably broken right now.

Current Interface

The following snapshots show the current interface. They are only indicative and everything is open for improvements.

Filter All Albums View by Rating
Elisa New Header
Elisa Playlist
Elisa Albums View Filtered
Elisa One Album View
Elisa Artists View
Elisa All Albums from an Artist View