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 has made yet another round of improvements to the UI and especially improved a lot the playlist by making it more fluid. It really feels much better now (at least for me).

I have added the possibility to load or save playlists. It is currently restricted to tracks already known to Elisa. More work is needed to support any audio files.

Screenshot_20171214_212504
Current state of the interface.

The following things have been integrated in Elisa git repository:

  • delete outdated todo list by Alexander Stippich ;
  • fix player being stuck when same track is played in random mode by Matthieu Gallien ;
  • enhance content view navigation by Alexander Stippich:
    • The backspace key is now also accepted for back navigation in e.g. the artist album view ;
    • A mouse area is added to MediaBrowser to allow back navigation with the mouse backbutton ;
    • Focus is forced on the stackview when arist or album is opened. Without this, the back key navigation is only working when it is actively focused by the user, e.g. by a mouse click ;
  • deduplicate code for the content view and adjust visual appearance by Alexander Stippich ;
  • merge MediaPlayList and PlayListControler to reduce size of code by Matthieu Gallien ;
  • make margins consistent and remove horizontal separator in playlist by Alexander Stippich ;
  • show passive notification when a track fail to play by Matthieu Gallien ;
  • remove context menus by Alexander Stippich ;
  • overhaul RatingStar by Alexander Stippich ;
  • add possibility to load and save a playlist at format m3u from two buttons at bottom of playlist by Matthieu Gallien ;
  • fix problems with dependencies and make some optional ones be required. Require all tier1 dependencies if they are also supported on Windows and
    Android by Matthieu Gallien ;
  • more improvements to playlist by Alexander Stippich:
    • Some more improvements to the playlist. First of all, adds more animations and fixes T6295.
    • Fixes some scaling issues and makes Show Current Track also select the item to highlight it better.
    • Converts actions to use signals
  • shorten the play now and replace play list button text by Alexander Stippich;
  • add a readme for packagers following some feedback in #kde-devel by Matthieu Gallien ;
Advertisements

Elisa 0.0.80 Released

The Elisa team is happy to release the first alpha release of a future 0.1 version of the Elisa music player.

Screenshot_20171207_231959

Elisa is a music player designed to be simple and nice to use.

Elisa allows to browse music by album, artist or all tracks. 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 much faster because Baloo is providing all needed data from its own database. You can build and play your own playlist.

It is available in source form only at https://download.kde.org/unstable/elisa/0.0.80/elisa-0.0.80.tar.xz. KDE also provides regular flatpak and windows builds. The windows builds are provided by binary-factory.kde.org and are using Craft. Thanks to the people in the flatpak and windows teams. A binary package is provided for Fedora thanks to Robert-André Mauchin. Other Linux distributions may provide binary packages from the git repository (as far as I know, there is an AUR package and a package for Neon).

The development is still continuing and we will regularly release an alpha version until we have completed review by other KDE developers. We plan to move to kdereview as soon as we have finished a few missing features.

For the curious reader, the phabricator workboard of Elisa is a good way to know what is happening (https://phabricator.kde.org/project/board/193/).

Any help is very much welcome. We have open tasks for code but also for design.

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use.

Elisa project has now an official mailing list hosted by kde (Elisa mailing list). Alexander Stippich is now a regular KDE developer and we felt a list was good to coordinate work on Elisa. I am also very happy, to nine years after I joined KDE, to have the honor to recommend somebody. I still remember how excited I was at that time.

Following blog post from Kevin Funk on binary-factory service (KDE binary factory), Elisa windows installers are regularly built. Thanks a lot to the KDE windows contributors. They do a lot of work to help projects like mine.

2017-11-30 14_28_43-
Snapshot of Elisa on Windows 10

The following things have been integrated in Elisa git repository:

  • Fix the case of albums with same title but different cover images by Matthieu Gallien ;
  • Do not duplicate albums when a track is missing album artist metadata by Matthieu Gallien ;
  • Hopefully fix compilation for neon distribution by Matthieu Gallien ;
  • By default tracks are from disc 1 now: fix some tracks being from disc 0 by Matthieu Gallien ;
  • Fix play list save and restore when exiting and launching the application by Matthieu Gallien ;
  • Rename default license file to match documentation on community KDE wiki by Matthieu Gallien ;
  • Add a reference to a snapshot for Elisa appstream metadata by Matthieu Gallien ;
  • Rename Qml import to org.kde.elisa by Matthieu Gallien ;
  • Give credit to astippich by Matthieu Gallien ;
  • Lower requirement for frameworks except for kdoctools. This is needed to built on binary-factory.kde.org by Matthieu Gallien ;
  • Print a warning if KFileMEtaData version is older than 5.39.0 that can crash when used the way Elisa code is using it by Matthieu Gallien ;
  • Add a test for MediaPlayList persistence by Matthieu Gallien ;
  • Make text vertically aligned to center for NavigationActionBar by Alexander Stippich ;
  • Alexander Stippich changed icons in playlist entry such that :
    • Playing indicator and remove button now share the position. indicator becomes invisible when entry is hovered or selected ;
    • Play button is transformed into a play pause button, allowing pause in the playlist entry. this is also a nice way to indicate the playing status when hovered or selected ;
  • Add automatic tests for MediaPlayList by Matthieu Gallien ;
  • Remove extra rowsInserted signals in MediaPlayList when adding tracks from an artist by Matthieu Gallien ;
  • When reselecting e.g. the all albums view with the view selector, the stackview shows a previously opened album. Reset to the initial item when the view selector is used by Alexander Stippich ;
  • Add a test for tracks removal via TracksListener and fix some bugs by Matthieu Gallien ;
  • Fix XML in copyright text for about dialog by Alexander Potashev ;
  • Allow to display all albums from an artist directly from the view of one of its albums by Matthieu Gallien ;
  • Do not extract i18n messages from localFileConfiguration/ to elisa.pot by Alexander Potashev.

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use.

Alexander Stippich did several fixes in the interface while I focused on bugs related to the music database.

KDE community has been working on flatpak. For that, a runtime including Qt5 and KF5 frameworks has been written. Aleix Pol has written a recipe to build Elisa under flatpak. It is now built regularly from the git repository.

I am very enthusiastic about that since that should allow easy testing of the application thanks to the work of a lot of people on Flatpak and the support inside the KDE community.

Currently some features are not well working and some audio codecs are missing in the current runtime. Use it at your own risk and keep in mind that some parts are known not to work correctly. Please report any bugs or suggestions to the bugs.kde.org tracker.

In order to test, you can (extracted from the KDE community wiki) do the following steps:

I am afraid I have no snapshots to show today.

The following things have been integrated in Elisa git repository:

  • Fix context menu for MediaAllTrackView and MediaAlbumView by Alexander Stippich ;
  • Improvements of the single entry in the playlist by Alexander Stippich ;
  • Fixes in the play list for different albums with the same title ;
  • Fix mouse interaction and dragging while LabelWithTooltip is truncated by Alexander Stippich ;
  • Preliminary work to allow to store multiple artists for a track or an album ;
  • Report database errors and check for them during tests. I fail to see how to report such an error to an user (being a developer or a non technical user does not make any difference here) ;
  • Preliminary work to allow database versioning and evolution ;
  • Fix several bugs around the music database ;
  • Modify a bit the way tracks are tested for uniqueness ;

I am still planning to do an alpha release soon. This is an important milestone to test that everything needed to make a proper release after review will be possible.

Last Weeks Activity in Elisa

Elisa is a music player designed to be simple and nice to use.

I have missed those regular posts due to real life interrupting me a lot the last two weeks.

The following things have been integrated in Elisa git repository:

  • Fix a bug related to error management during play of music (no longer block on an erroneous track, …) ;
  • Update of the Elisa docbook documentation by Burkhard Lück ;
  • Elisa now requires KDE Frameworks 5.39 to prevent a crash of Elisa ;
  • Allow to start play if in pause using the play button in the play list by Alexander Stippich ;
  • Increase test coverage of the code used to manage the list of audio tracks, albums and artists. Fix some newly discovered bugs ;
  • Colorize the icons in the list of views on right the same way text is colorized: Screenshot_20171102_224101
  • Allow keyboard navigation of the playlist ;
  • Fix management of albums with the same title but different authors ;
  • Implement double click actions for delegates in content views by Alexander Stippich ;

I would like to thank Burkhard Lück and Alexander Stippich for their much appreciated contributions.

Last Week Activity in Elisa

Elisa is a music player designed to be simple and nice to use.

I have started again to work on Windows build of the application and a recipe to build Elisa is now integrated in the craft-blueprints-kde repository. It is already quite usable thanks to the portability offered by Qt and KF5 Frameworks and the quality of Craft meta build system.

2017-10-13 14_43_30-Elisa
Snapshot of Elisa on Windows 7

Apart from that, I have integrated the following things:

  • Fix a bug blocking the play when under some conditions asking to enqueue some music and playing immediately would not work ;
  • Fix the display of tracks count in the playlist ;
  • Improve the handling of Elisa application icon such that it is bundled in the executable ;
  • Continue to improve focus handling especially with touch screens ;
  • Add mouse hover effect in the list of view modes (all albums, all artists …).

I am currently working on improvements of error handling when playing music. I also plan to explore using Phonon to have a possibly easier out of the box experience for flatpak and Windows when using the vlc backend. I am getting frustrated by getting missing codec errors from QtMultimedia.

Edit: I added a screenshot of Elisa on Windows 7 as requested.

Last Week Activity in Elisa

Elisa is a music player designed to be simple and nice to use.

Last week, I have worked on focus handling and keyboard navigation. It is now possible to only use the keyboard to do everything possible with a mouse at the exception of filtering by ratings.

A very nice side effect of those modifications is that it is also quite easy to use with a touchscreen like the ones commonly found on laptops.

There are more work to be done in this area but the focus of my work will move to other area in need of love. This is why I have started again fixing bugs already known and described in the phabricator project workboard. I have fixed two bugs:

  • Removal of last track of play list when playing it would block the playlist ;
  • Sometime at start when asking to enqueue and immediately play some tracks, the player would stay paused.

Next week, I will continue to focus my work on finishing what is already started. I do not plan yet to start adding new features.

Last Week Development in Elisa

I have focused on keyboard navigation and correct handling of focus. Some preliminary work is already integrated with more to come. I hope to soon be able to use Elisa only with the keyboard and am starting to enjoy the progress so far. This is quite different from the last two years where only mouse and touch screen were usable to interact with Elisa.

If you think this is an important or useful feature in Elisa, please consider donating to the Randa Meeting fundraising campaign (https://www.kde.org/fundraisers/randameetings2017/). Without it, probably nothing would have happen in Elisa in the keyboard usage area.

The next step will be to give a look to Orca screen reader. I really feel inspired by the work that has been done during last Randa meeting.

Another important thing (at least for me) would be a pleasant usage with the touch screen you usually found on laptops.

Tomaz Canabrava did analyze a runtime error due to using a Qml property not existing in the required version but existing in the version used at runtime (or not). Due to that, Elisa now requires Qt5.9. Thanks a lot.

Burkhard Lück started to fix a few issues with the Elisa documentation.

Last week development in Elisa

This week has been focused on finishing the development of persistent notifications at the top of the music views. They are intended to provide information about what happen with actions the user can take to improve things.

The following items have been pushed:

  • Clean up of dependencies. Now all frameworks come with a description. Some have been downgraded to optional or recommended. Some have been upgraded to recommended ;
  • A new version of persistent notifications.

The new persistent notifications

The player can be in four states:

  • No notifications are active
    Screenshot_20170920_224107
    No notifications

     

  • One notification is activeScreenshot_20170920_224429One notification

     

  • More than one notifications are active. Only one is shown such that vertical space is preserved

    Screenshot_20170920_224700.png
    Multiple notifications with the first visible
  • The notifications area is expanded and several notifications are visible
    Screenshot_20170920_224830.png
    Show multiple notifications

     

If the user choose to act, the buttons are temporarily disabled to provide instant feedback and the notification disappear when the root cause is fixed (like in the example, if music tracks are discovered or Baloo configuration is modified or Baloo music indexer is disabled in Elisa.).

I have tried to provide smooth transitions between each of those states. Some may still be missing. Please do not hesitate to provide feedback on this feature.

I plan to add more notifications of this kind when the software wants to provide feedback to the user and asks him to choose what he prefers.

Next week, I should continue to improve integration with Baloo. I would also like to improve (in fact allow) the keyboard interaction.

Last week development in Elisa

I have decided to try to publish a short or not too short blog post each week some development happen in Elisa Git repository. I am inspired amongst others by the current posts about development of Kube.

I have updated the wiki page bout Elisa to include howto build instructions Elisa. Please have a look and improve them if you can.

The following items have been pushed:

  • A fix for memory leak when modifying the paths to be indexed by the Elisa files indexer ;
  • Do not display the disc number in play list when the track is from an album with a single disc.

I am still working on the notifications and a small progress has been made for the integration of visualizations when playing music.