News about Elisa

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.
We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).
We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

 Improvements of Elisa Interface

We have got a new application icon from Paul Lesur. Thanks for the help.

128-apps-elisa
New Elisa Application Icon

Diego Gangl has been working on improving the design of the interface. Among the changes some where suggested quite some time ago by the KDE VDG.

The main controls of playback are now all on the same horizontal bar. This way, it should be much easier to locate them.

The view selector list has also a new simpler and cleaner look. I especially appreciate the removal of the not quite working color animations of the current item indicator.

Alexander Stippich added a small button that allows to sort the views in ascending or descending order. They are now sorted by default. The data comes from the tracks database in sorted order (done by Kevin Ottens). The case is ignored.

Screenshot_20180516_223706
Current Interface with Many Improvements

Many Improvements on Tracks Properties

A lot of work has recently went into Baloo and KFileMetaData frameworks. While this is not strictly related to the Elisa project, it is a huge improvement.

Elisa got hugely improved support for discovering existing image files with a cover. This work has been done by Kevin Ottens and Alexander Stippich. There are still cases where the cover might not be found if for example the cover file name has spaces. We may also want to be able to select the best one among many.

Elisa got fixes to better support track properties with multiple values. The current state is still not able to fully support authors list for example but we will eventually get there.

Performance Improvements when Checking Existing Music at Start

Elisa stores your discovered music in a small database to allow a quick start. Due to that, it needs to check if known tracks have changed or have been moved or removed. It also has to check if new music has been added.

This had been quite fast when using the Baloo support but was really slow for big music collections indexed by the Elisa specific indexer.

It is now storing the latest modification time of the files (possible by requiring Qt 5.10) and will only parse the properties of a track if needed. I did tests with a collection of around 4000 tracks and the improvement is really noticeable.

Please if you still notice problems, send us your feedback.

Ongoing work

Alexander Stippich is working on file system browsing from inside Elisa.

This work will be especially useful for playing tracks with no or bad properties.

It will also benefits everybody because when doing this work it has resulted in fixes for shared code like falling back to file name when no title property is there.

I am working to allow to browse the music by genre. This has led to many improvements to the automatic tests and the tracks database.

Screenshot_20180516_235410
Work In Progress: Browsing by Genre

One of the interesting side improvements is that now the only view that is visible is loaded in the interface. This should improve startup time and resource consumption.

Next Steps

We have decided to modify a little bit our release schedule to have two months before the feature freeze and only one more month before the release of the next stable release (i.e. the 0.2 version). The next step is the 2nd of June.

We Need your Help

There are quite some small tasks that are open in the Elisa workboard. They are a really good opportunity to join the project. Everybody will be happy to help and guide you. We will identify some junior jobs (I borrowed the idea from a recent blog post from KDE Connect team).

We also need help with every other tasks like: triaging bugs, working on code, improving the design and helping with the promo.

Advertisements

0.1.1 Release of Elisa

The Elisa team is happy to announce the first bug fix release for the 0.1 version.

The following changes have been integrated:

  • c5bc988 search for more cover names in directory by Alexander Stippich (Fix bug 392843);
  • 5113d00 remove the huge playlist icon by Alexander Stippich (Fix bug 392782).

One important note, Elisa is now available from flathub. Only the stable releases will be distributed through flathub.

Screenshot-2018-4-22 Flathub - A build and distribution service for Flatpak applications(1)
Flathub Elisa page

This release also has a windows setup at the time of release. Thanks a lot to the help from the Craft and binary-factory teams. Without them, I would not be able to do it.

Elisa source code tarball is available here. The Windows installer is also available from this place.

0.1 Release of Elisa

The Elisa team is happy to announce our first release, version 0.1.

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.
We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).
We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.
Screenshot_20180412_224656
Since this is the very first release of Elisa, the number of features is not as extensive as in other mature music players. We aim to provide a solid foundation for new features to be added in the following releases.
Elisa lets you browse music by album, artist or all tracks Songs can be searched and added to the playlist easily and it is also possible to inspect your music’s metadata.
The music is indexed using either a private indexer or an indexer using Baloo. The private one can be configured to scan music on chosen paths. The Baloo one is faster because Baloo is providing all needed data from its own database. You can build and play your own playlists. HiDPI monitors are supported.
The team would like to thank everyone who contributed to the development of Elisa, including code contributions, testing, and bug reporting.
We would also like to thank the people who wrote articles about Elisa. We have already received very helpful feedback from several publications like lwn.net and Linux Format.
We are already working on new features for the next releases, which include under-the-hood changes for better performance and better metadata support. If you enjoy using Elisa, please consider becoming a contributor yourself. We are happy for any support!
Elisa source code tarball is available here.

Last Weeks Activity in Elisa and Release Schedule

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.

We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).

We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

Release Schedule

We are preparing the 0.1 release of Elisa. A stable branch has been created and translations set up for the stable branch.

We plan to have a string freeze starting 24th March.

The release will be tagged on 7th April with the release happening shortly after.

We are also continuing development of what will become the 0.2 release. We plan to make a release each 3 months and to support the stable release with a few bug fix releases. We have summarized the schedule for the next releases in the KDE community wiki.

Now is really a good time to join the Elisa team. You will be able to work on code that will soon reach potential users. You will not have to wait for a long time given that we will soon release.

Activities

Since the last blog posts, quite some changes went into Elisa. Most notably is the partial migration to raw Qt Quick Controls v2 and all the fixes for HighDPI support. Alexander is also looking at opportunities to leverage Kirigami.

Screenshot_20180316_212445
Current Elisa interface

Here is the raw git changelog:

  • ddf1354 artist, album artist, genre composer and lyricist can be strings list: fix Elisa
  • 184f15b Don’t rely on playPause for MPRIS pause
  • 3a46c62 add tests for navigation bar
  • b38c3de add top margin for album view and all tracks view
  • f47cab3 ensure the busy indicator is not visible when not running
  • 15339f8 fix double click for playlist
  • 6b862b6 fix metadata view after merge of controls2 branch
  • 115b9bc fix music not being stopped when clearing the play list
  • d00c821 remove random generator setup from qml
  • 617c81c pipe loading of album data through proxy model
  • 9a798f8 Merge branch ‘controls2_rebase’
  • c6e928f fix other small issues with enqueue methods of MediaPlayList
  • d74f0a8 add missing explicit in front of some constructors thanks to ebn.kde.org
  • f062fb1 enqueue an empty list of tracks ID is now doing nothing
  • 8f534b2 fix a small error due to migration to object creation in c++
  • 6e4f632 Fix MPRIS pause
  • 7aceef7 fix several visual issues
  • 7255eb7 convert metadata view to a controls v2 window
  • f214758 Revert “ask Qt Quick Controls v2 style to be org.kde.desktop”
  • 4f874dc ask Qt Quick Controls v2 style to be org.kde.desktop
  • fef03db fix issues after controls2 port
  • 3afca2d port to controls2
  • 58647d0 connect to deleteLater to ensure that object is deleted
  • b91a425 main: Use HighDpiPixmaps
  • 6067340 qml: Use pointSize instead of pixelSize for HiDPI screens
  • 3d221a5 use contains for membership test
  • 7654591 fix all tracks view signals

The following authors have contributed to Elisa:

  • Alexander Stippich
  • Matthieu Gallien
  • Andreas Schneider
  • Fabian Kosmale
  • Nicolas Fella

Thanks a lot for those contributions.

Testing Elisa

There are several way to test Elisa but the easiest one is using the flatpak package produced by KDE if you are running a system supporting flatpak. The flatpak service is back automatically building a package when changes are integrated in Elisa. This is the kind of services the awesome KDE community provides. You can easily contribute your energy or some money to help this to continue.

If you happen to use windows, there is also a setup built by binary-factory KDE service (Elisa is built with craft and craft makes it very easy to produce Windows setup).

There are also some packages built for your distributions from the git repository. This is a nice way to test Elisa. Thanks for the effort of the packagers.

Last Weeks Activity in Elisa

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.

We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).

We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

Elisa has been accepted by the KDE community as an official project with its own release schedule and hosted in the Extragear – Multimedia section. We are preparing a release schedule  for our first stable release.

Now is really a good time to join the Elisa team. You will be able to work on code that will soon reach potential users. You will not have to wait for a long time given that we intend to release as soon as we can.

I would also like to thanks all people having offer their help on the HighDPI support. I dot yet own proper hardware to test that and people from the community stepped up to help. You are amazing. If any issues are still visible, please report them.

The following things have been integrated in Elisa git repository:

  • Add a margin to the album grid by Diego Gangl ;
  • add missing const ref in return of MusicAlbum::trackFromIndex by Matthieu Gallien ;
  • include QtConcurrentRun instead of QtConcurrent in src/model/allalbumsmodel.cpp by Matthieu Gallien ;
  • rename the include guard macro in singlealbumproxymodel.h (from ebn.kde.org) by Matthieu Gallien ;
  • hopefully fix an ebn.kde.org include warning in autotests/elisaqmltests.cpp by Matthieu Gallien ;
  • improve appdata file (improve homepage and add documentation) by Matthieu Gallien ;
  • move MediaPlaylist to C++ by Alexander Stippich ;
  • makes the filter part be invisible when not expanded by Matthieu Gallien ;
  • Various general and RTL fixes by Safa AlFulaij ;
  • To make theme size depend on DPI by Mykola Krachkovsky with contributions from Alexander Stippich, Andreas Schneider and maybe others I am missing ;
  • lazy initialize as much as possible by Matthieu Gallien ;
  • makes Baloo optional again by Matthieu Gallien ;
  • improve adding tracks or albums from the proxy models (fast and not blocking) by Matthieu Gallien ;
  • implement a trackdata helper to displScreenshot_20180227_231751ay more detailed track information by Alexander Stippich. One notable addition is the cover image being shown in the track information window ;
  • fix windows support not picking up the specific qml files by Matthieu Gallien ;

Last Weeks Activity in Elisa

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.

We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).

We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

We have released the version 0.1 alpha 2 last week.

Screenshot_20180202_172327
Elisa with Breeze Dark color theme

Now is really a good time to join the Elisa team. Alexander did quite a lot of changes to lower the barrier to entry. He is actively maintaining the community Elisa wiki page. We have plenty of small tasks open in Elisa workboard.

We also welcome other kind of contributions like design, graphics, promo, etc.

The project is trying to stay agile and to give users an easy way to follow our work by supporting distributions channels like binary-factory or the flatpak build of KDE applications. There are also some distributions with ways to build latest code as a package (Arch AUR).

The following things have been integrated in Elisa git repository:

  • Remove duplicated property in AbstractMediaProxyModel by Matthieu Gallien ;
  • Makes AllAlbumsModel use a thread for long operations in order to not block the UI by Matthieu Gallien ;
  • Reorder methods in mediaplaylist by Alexander Stippich ;
  • Fix comment about license of the documentation to match the one in kdoctools by Matthieu Gallien ;
  • Always explain that support for UPnP is currently broken by Matthieu Gallien ;
  • Add missing runtime dependencies to README.packagers by Matthieu Gallien ;
  • Add one missing dependency for packagers by Matthieu Gallien ;
  • Move application menu to own file by Alexander Stippich ;
  • Fix artist name in album view by Alexander Stippich ;
  • Use clearPlayList instead of extra code in qml by Alexander Stippich ;
  • Add dependency to readme and fix link by Alexander Stippich ;
  • Implement a filter view and play buttons for all views by Alexander Stippich ;
  • Remove duplicate MimeType entry in the desktop file by Robert-André Mauchin ;
  • Fixes warnings reported by clazy checker tool by Matthieu Gallien ;
  • Fix installation of elisa qml package for the configuration dialog by Matthieu Gallien ;
  • Small tweak to the qmlpackage for the elisa configuration module by Matthieu Gallien ;
  • Avoid crashing when invoked from dbus without a valid list of files to open by Matthieu Gallien ;
  • Unbreak the ability to configure shortcuts by Matthieu Gallien ;
  • Fix restore of playlist position on start by Matthieu Gallien ;

Elisa has moved to kdereview. The feedback from the different releases has motivated this move in order to be able to (if Elisa is accepted by the KDE community) make regular releases to allow user to give feedback.

Elisa 0.0.81 Released

The Elisa team is happy to announce the second alpha release of the Elisa music player.

When building this release we have worked on our vision for the Elisa music player:

  • Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.
  • We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).
  • We are creating a reliable product that is a joy to use and respects our
    users privacy. As such, we will prefer to support online services where
    users are in control of their data.

We also want to align with the KDE wide goals that have been chosen by the whole community. Since the last release we updated our community wiki page and cleaned some cruft accumulated from the very early time of the development to lower the barrier for new people willing to join the development.

The user interface was further tuned for a smooth experience. Several issues with dark themes were fixed and the appearance of the buttons and sliders were slightly altered to improve their readability.

Screenshot_20180202_172327
Elisa with Breeze Dark color theme

We also worked on improving the performance with a focus on the Elisa files indexer. We still recommend to use baloo when possible because the experience is better.

We added the possibility to directly open a music track from a file browser in Elisa or by specifying files as command line options. This is the first step to add support for browsing your music directories directly from Elisa.

Support for reading and writing m3u playlist has been added. There is one know issue when opening playlist with track file names including non ascii characters.

Screenshot_20180202_172839

 

Finally, Elisa is know able to show you the metadata of your tracks and extending the set of supported metadata is an ongoing work.

Screenshot_20180202_173256

We hope you will enjoy this release as much as we enjoyed building it.

This version is available from KDE servers.

There are binary packages available from Neon, arch and Fedora Linux distributions. KDE provides automatic builds of flatpak packages for Elisa (it may not be always up to date). You can follow KDE wide documentation (the package name is org.kde.elisa) . A Windows setup is also provided from the Craft and binary-factory teams (binary-factory).

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use. It allows to browse music by album, artist or all tracks. You can build and play your own playlist. We aim to build a fluid interface that is easy to use.

Alexander did several changes to ease on boarding for new developers. For example, he renamed files that have difficult to understand names (this project started as a pure UPnP/DLNA client). This is really important if we want to be able to grow the number of developers working on Elisa. Kudos to him.

Alexander is working on a quite big feature. It will add “enqueue” and “replace and play” buttons to all views. Here is a preview of that feature:

Screenshot_20180128_122745
New view header with the extra buttons
Screenshot_20180128_122821
New header of view with filter visible

The new buttons will add all music currently shown by the view. It means that one can directly adds the result of a search. This is a big improvement in productivity.

The following things have been integrated in Elisa git repository:

  • Optimize files indexing by doing more stuff in pure c++ instead of mixing c++ and qml in inefficient ways by Matthieu Gallien
  • use ModelTest from Qt to better test all models by Matthieu Gallien
  • fix import tracks count being wrong when not built with Baloo by Matthieu Gallien
  • add elisaImport executable to perform benchmarks by Matthieu Gallien
  • unbreak qml automatic tests by Matthieu Gallien
  • use qrc url instead of relative path by Alexander Stippich
  • query all metadata and make them available by Alexander Stippich
  • fix keyboard focus problem in GridBrowserDelegate with an automatic qml test by Matthieu Gallien
  • move qml files to subfolder by Alexander Stippich
  • Disable track number for songs that don’t have it by Diego Gangl
  • fix missing argument by Alexander Stippich
  • rename main elisa files by Alexander Stippich
  • Change color of elapsed time in seek/volume bars by Diego Gangl
  • Fix minor typo by Yuri Chornoivan
  • improve the documentation to match the current state by Matthieu Gallien
  • harmonize handling for all content delegates by Alexander Stippich
  • use PropertyAction by Alexander Stippich
  • use real instead of var by Alexander Stippich
  • implement a metadata view for tracks by Alexander Stippich
  • change contrast in player controls by Alexander Stippich
  • replace default background for HeaderBar by a wallpaper from Breeze by Matthieu Gallien
  • introduce GridBrowserView and GridBrowserDelegate for generic grid view by Matthieu Gallien
  • cleanup of src directory by Alexander Stippich

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use. It allows to browse music by album, artist or all tracks. You can build and play your own playlist. We aim to build a fluid interface that is easy to use.

We are preparing for the next alpha release when the following features will be done. Alexander is working on a metadata view for tracks. I am working on cleaning the different grid views into a generic one.

Diego Gangl did several modifications of the interface as part of the interactions with KDE VDG.

All in all, Elisa now looks like that:

Screenshot_20180112_174013
Snapshot of album view including the changed application menu

The following things have been integrated in Elisa git repository:

  • Fix modification of files with DatabaseInterface::modifyTracksList by Matthieu Gallien ;
  • This patch increases the blur in the headerbar background, increases contrast
    between background and text, and brings the labels closer together by Diego Gangl ;
  • Tune appearance of all albums and all artists views by Matthieu Gallien ;
  • Fix wrong id reference in FilterBar by Matthieu Gallien ;
  • In all models, calls base class roleNames before adding new role names by Matthieu Gallien ;
  • Simplify the definition of custom roles in all models by Matthieu Gallien ;
  • Allow MusicArtist to be stored in a QVariant by Matthieu Gallien ;
  • Allow to enqueue artist in MediaPlayList by using MusicArtist objects by Matthieu Gallien ;
  • Change height of delegate in GridView by Matthieu Gallien ;
  • Fix a typo in the imported tracks notification by Diego Gangl ;
  • Make shadows centered and slightly larger. Fits better with other shadows in the
    desktop (like dolphin and widgets), and it also aligns with the new shadows for
    breeze (D9549) by Diego Gangl ;
  • Fixes key arrow navigation in list and gridviews and implements enter and return key actions for delegates by Alexander Stippich ;
  • Allow elisa to open any external files, scan them and enqueue them by Matthieu Gallien ;
  • Syncs the windows theme file with the current main theme file. Removes bundled icons for windows which are not needed as proven by ViewSelector.qml, but also tested on windows by Alexander Stippich ;
  • Make the delegates more appealing when using a dark theme also add hover animations while keeping the loader component by Alexander Stippich ;
  • Fix keyboard navigation for album artist view too by Alexander Stippich ;
  • Move all icon and image definitions to theme file and make some consistency fixes. In anticipation of a colorized version of the artist image, there are two definitions which currently hold the same icon. Also enables the display of a default cover in context view by Alexander Stippich ;
  • qml profiler shows a few percent of cpu time spent just for the creation for simple buttons for the delegates. cut this by loading on demand by Alexander Stippich ;
  • Try to find png files for covers if jpegs do not exist can probably be made a lot smarter than this, but kept it simple for now by Alexander Stippich ;
  • Try to fix build (as seen on binary-factory.kde.org) by Matthieu Gallien ;
  • Re-order menu items to fit better with the order used in other KDE applications by Diego Gangl.

 

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use. It allows to browse music by album, artist or all tracks. You can build and play your own playlist. We aim to build a fluid interface that is easy to use.

I enjoy working on the elisa music player. I hope some people enjoy using it. All of this would not have been possible without the KDE community. There is an ongoing fundraising campaign. Please support it.

https://www.kde.org/fundraisers/yearend2017/

Not much have been done due to Christmas and end of year holidays.

The following things have been integrated in Elisa git repository:

  • Disable shadows when no artist image is present by Diego Gangl ;
  • Unify track delegate handling by Alexander Stippich ;
  • Fix missing assignment of music listener for MediaArtistAlbumView by Alexander Stippich ;

There are also some pending diff request in phabricator.

We have also some ongoing work to organize work with KDE VDG. Some future changes following their feedback is planned.

I am also driving an effort to more clearly communicate what elisa is about (inspired by the work on KDE goals and plasma vision). I hope to be able to also have a vision for elisa and to derive some goals aligned with those of the KDE community.