KDE 개발자 블로그

Syndicate content
KDE Development in action.
Updated: 5 weeks 5 days ago

Current state of Babe

Mon, 04/24/2017 - 05:26
KDE Project:

A better view of this post can be found here:
https://medium.com/@temisclopeolimac/current-state-of-babe-9fb56ce16ac6

To continue my last post about Babe [1] where I wrote about a little of its history, in this new entry (I’ve now switched from the KDE blogs to Medium) I will tell you about the current state of Babe and the features implemented so far.
[1] https://blogs.kde.org/2017/04/14/introducing-babe-history

So welcome to this walk through Babe:

To start: In the last post I wrote about wanting to make in the first place a tiny music player, and that’s why I first started the GTK3 version of Babe and tried to make it look like a plain playlist highlighting the cover artwork.

The now present version of Babe still sticks to that idea, but also, to make of it a more powerful music player, it has an integrated music collection manager, with different views and features.

One of the core points of Babe is the Babe-it action. Babe-it basically means make a track a favorite and put it in the main playlist. A Babed track is a new hot song you really dig for now, like a new song you found on YouTube and added to your collection via the Babe Chromium extension ;).

The Babe-it action can be found on the contextual menu to mark as babe any track on your collection and also in the playback toolbar controls to mark as Babe the current playing track. Also via the native KDE notification system you can Babe or Un-Babe the current playing song without having to interact with the babe interface.
Contextual actions on a track. Babe-it comes first ;)


View Modes:

When you first launch Babe it will make use of the called “Playlist Mode”, but in the case scenario where there is not music to play, then it will change to the “Collection Mode” to let you add new music sources or drag and drop music tracks, albums or artists.

Babe also has a “Mini Mode” that just displays the artwork and the basic playback functions.

So Babe has 3 view modes:

Collection Mode where all the collection manager views are visible: all tracks, artists, albums, playlists, info, online and settings view.

At the left you found the views toolbar and at the bottom the so called “Utilsbar” where all the useful actions for each specific view are placed.

Playlist Mode where only the current tracks on the playlist and the artwork on top are visible.

In this mode you also get a mini “Utilsbar” This bar has 4 main utilities:
1- the calibrator, which allows you to: clear the list and only put your Babes on play, to clear the whole list to put together a new playlist, to save the the current list as a playlist, to use a different playlist from the ones you already created and finally to remove the repeated songs from the list.
2- a go-back button which takes you back to the view you were before at the Collection Mode.
3- a filter option that will let you quickly put on play your search queries without having to go back to the Collection Mode. Search queries can go like this: “artist:aminé,artist:lana del rey,genre:indie” or simply “caroline”.
4- and finally an open dialog for you to select a file on your system.(you can also drag and drop those files instead)

Mini Mode that only displays the artwork and the basic playback functions.

The Collection Mode Views:
You can browse your collection by all tracks, albums, artists or playlists.
Those views have a permanent set of actions at the bottom Utilsbar:
Add the tracks on current table to the main playlist
Save the tracks on the current table to a playlist

Also there is a playAll button that shows when hovering the artwork, when pressed it will clear the main playlist and started playing all the tracks from the artist or from the album, depending of which type of artwork was clicked.

Menu Actions:

From the contextual menu you can perform these actions on a track:
Babe-it or Unbabe-it
Put it on Queue
Send to phone by using the KDE Connect system
Get info from the track, such as music lyrics, artist bio, album info, related artists and tags
Edit the file metadata
Save track to a location
Remove track from the list
Add track to an existing playlist
Rate it from 1 to 5 stars
And finally set a color mood for the track. Tracks with a colored-mood can color the interface.

Babe Chromium Extension:

By making use of the Babe Chromium extension you can fetch your favorite YouTube music videos and add them to your local music collection. Babe will find relevant information to catalog them and the add them to the main playlist for you to listen later on.
Babe makes use of youtube-dl, so the supported sites by it are also supported on Babe, such as Vimeo… etc

The Info View:

The info view is going to be the main focus point on future development, the main idea for Babe is to become a contextual music collection manager, that meaning that Babe will let your discover new music based on the tracks you collect and listen to, and also show you contextual information about those.
Right now this is still work on progress but for now you can enjoy the following features:
While showing info about a track you can click on the generated tags to look fro those on your local collection

The Search Results
This is another focal point for babe, but I will cover this one in a future blog post.
Hope you like and I’m hoping to read about what you think and your ideas.

Categories: KDE International

Introducing Babe - History

Sat, 04/15/2017 - 06:43
KDE Project:

https://babe.kde.org/

This is my very first post for KDE blogs and it is also my very first application. So when I sit down to think about what to write about I thought I would like to tell you all about how and why I wanted to start coding and then why I decided to create a (yet another (i know)) music player, specially made for KDE/Plasma.

So here comes the story:

I've been using Linux/GNU for almost ten years now, that was when I was still in high school, I always thought Linux based distros looked so cool and kind of mysterious, so then I decided to wipe off my Windows XP installation and move to Ubuntu, since then I have not looked back and I'm glad because not only i found a great OS but also a great group of communities behind it. I first got involved with the community by making GTK/CSS themes and small icon sets.

Let's say I always found the visual part the most interesting, so I tried all the available desktop environments, visual appealing applications and themes. Among those apps, I always liked to check out the default music players of each distro and their set of multimedia applications.
I can say I've pretty much tested almost all of the Linux music players that have appeared in the wild. Some looked cool, others boring, and they worked... some others were buggy as hell... and many others were a very nice and complete tool to manage your local music collection but didn't look that great or well integrated.

Anyway, I finished high school and then went to University to the Arts program. Two years ago I also started the Computer Science bachelor program and then began to start developing small console apps. By then I was using elementary OS, because it looked nice and polish, and then was went I first wanted to create my very own music player to satisfied my own needs and also to learn a new graphic toolkit (GTK3)


I wanted to have a simple tiny music player that resembled a playlist where I could keep my favorite (Babes) music at the moment, I didn't care much about managing the whole music collection, as I didn't have much local music files anyway.

I did what I wanted and then I stopped developing it. By the time I tried Plasma once again and I liked it very much, the new Breeze theme looked awesome and the tools were much more advanced than the ones from elementaryOS and then I decided to stay. :)

I kept on using my small and kind of broken music player, but then I found myself using a lot the youtube-dl to get my music, given that most of the music I listen to is music that I've found/discovered while watching another (YouTube) music videos. That's when I decided to once again go back to Babe and make it fetch my favorite YouTube music videos. But by then I was using KDE/Plasma instead of a GTK based D.E. So i started learning about the Qt framework because I wanted Babe to look good and well integrated in the Plasma desktop.


My plans for Babe-Qt were simple: fetch my favorite music and then play it in a tiny interface. But, oh well, my music collection started to grow and then I decided i could make use of a collection manager integrated when needed, to be able to create another playlists besides from my favorites (Babes)... and then I implemented a full collection view, artist, albums, playlists and info view.

The "info" view then became really important: I wanted to be able to get as much information of a track besides the basic metadata information, I wanted to know about the lyrics, the artwork, the artist and the album. And even eventually I wanted to be able to find similar songs... and that is what Babe is now trying to aim at, but that's something I will tell you in a next blog post... I want to introduce a contextual music collection manager.

That's it for now, but I will be writing to you all back soon, and letting you know about:
-Current state of Babe
-Planned features
-The future
-Conceptual ideas

;)

Categories: KDE International

Complex text input in Plasma

Fri, 04/07/2017 - 05:05
KDE Project:


Surprisingly not enough

A brief note: If you're a developer or user of input methods in the free desktop space, or just interested in learning about "How does typing Chinese work anyway?", you might be interested in a discussion we're now having on the plasma-devel mailing list. In my opening mail I've tried to provide a general overview about what input methods are used for, how they work, who they benefit, and what we must do to improve support for them in KDE Plasma.

Bringing high-quality text input to as many language users as possible, as well as surfacing functionality such as Emoji input and word completion in a better way, is something we increasingly care about. With the situation around complex text input on Wayland and specifically KWin still in a state of flux and needing-to-crystallize, we're looking to form closer ties with developers and users in this space. Feel free to chime in on the list or hang out with us in #plasma on freenode.

Categories: KDE International

Simon 0.4.80 alpha released

Mon, 04/03/2017 - 20:07
KDE Project:

The first version (0.4.80) towards Simon 0.5.0 is out in the wilds. Please download the source code, test it and send us feedback.

Some new features are:

  • MPRIS Support (Media Player control)
  • MacOS port (thanks to René there is a first Macports script
  • A series of bug fixes.

You can get it here:
https://download.kde.org/unstable/simon/0.4.80/src/simon-0.4.80.tar.xz.mirrorlist

In the work is also an AppImage version of Simon for easy testing. We hope to deliver one for the Beta release coming soon.

Known issues with Simon 0.4.80 are:

  • Base model download doesn't work as expected. You can search for some base models though (BUG: 377968)
  • Some Scenarios available for download don't work anymore (BUG: 375819)
  • Simon can't add Arabic or Hebrew words (BUG: 356452)

We hope to fix these bugs and look forward to your feedback and bug reports and maybe to see you at the next Simon IRC meeting: Tuesday, 4th of April, at 10pm (UTC+2) in #kde-accessibility on freenode.net.

About Simon
Simon is an open source speech recognition program that can replace your mouse and keyboard. The system is designed to be as flexible as possible and will work with any language or dialect. For more information take a look at the Simon homepage.

Categories: KDE International

Looking for a job ?

Thu, 03/23/2017 - 05:40
KDE Project:

Are you looking for a C++/Qt/Linux developer job in Germany ?
Then maybe this is something for you: Sharp Reflections

I'm looking forward to hear from you. :-)
Alex

Categories: KDE International

New life in Simon speech recognition

Tue, 03/14/2017 - 04:14
KDE Project:

As my blog as FSFE Fellow No. 1 is temporarily not aggregated on planet.kde.org and my private blog about woodwork (German only) currently only tells about a wooden staircase (but soon again about wooden jewelry) I'm building I found a new place for my KDE (non-Randa) related stuff: KDE Blogs. Thanks to the KDE Sysadmin team for the quick setup!

Since the beginning of this year there is some new activity about and around the Simon speech recogition. We had several weekly IRC meeting (Logs: W02, W03, W04, W05, W06, W07 and W08) and there is a workboard with tasks. Our plan for the near future is it to release a last Kdelibs4 and Qt4 based version of Simon. Afterwards we focus on the KDE Frameworks 5 and Qt5 port and then we might have time and work power to look at new feature development like e.g. Lera or the integration of the Kaldi speech recognition framework. But there is parallel work as well like creating Scenarios, working on speech (acustic) and language models and document all this.

So to reach this first goal of a last kdelibs4/Qt4 based version of Simon (the last stable release of Simon happened back in 2013 and there are some commits waiting to be released) we need your help. Would you like to work on documentation checking, compiling first Alpha versions of the new release or just writing about Simon or showcasing it in videos then please get in contact with is via email, IRC (#kde-accessibility on freenode.net) or the KDE Forums

And if you'd like to start right away you'll find us tomorrow (Tuesday, 14th of March) at 10pm (CEST) in #kde-accessibility on freenode.net. Looking forward to meeting you!

PS: Something different and how times change: Just bought a dishwasher and got a printed copy of the GNU GPL ;-).

Categories: KDE International

Fear not, OMG! Ubuntu! You will bounce again!

Sat, 03/11/2017 - 07:49
KDE Project:

Serving the quadruped audience

Intrepid journalist Joey Sneddon over at OMG! Ubuntu! recently pointed out to us that Plasma 5 is currently not doing so well when it comes to serving an important user demographic - bored cats!

Indeed, Plasma 5.0 cost them (and us) the Bouncy Ball widget. And the reasoning mentioned in the article ([...] when trying to develop a professional experience toys and gimicks aren’t a good thing to be shipping by default [...]) is actually pretty solid I think. Hmm.

Have we lost our bounce forever? No!

But! These days we have the sexy KDE Store going on, which is a great place to put toys and gimmicks (along with neat menus).

So it's back! Behold the demo:


Bouncy Ball v2.0 on Plasma 5

You can grab it now for your Plasma 5 via Add Widgets... in your desktop menu and then Get new widgets in the Widget Explorer, or check out the Bouncy Ball store page.

Now for some additional fine print, though: I wrote this at ludicrous speed over a Friday night, and it's not well-tested. It behaves a little quirky sometimes (the goal was to match the original closely, but I didn't have a running KDE 4 to refer to). And despite the v2.0 moniker, it's still missing some of the features of the old Ball, including auto-bounce and that satisfying Boing! sound on collisions. I went with v2.0 in honor of the heritage - I'll polish it and add back the missing features a little later!

Update Bouncy Ball v2.1 is now on the store with sound support, auto-bounce, much better mouse response, a configurable simulation tick and a few bugfixes!

Categories: KDE International

Plasma 5.10: Folder View as default desktop mode

Thu, 03/02/2017 - 03:57
KDE Project:


New defaults: Plasma 5.10 with desktop icons

A brief history lesson

To set the stage, we need to briefly recap some of the problems with the KDE 3.x desktop that (among others) Plasma initially set out to solve.

In the KDE 3.x desktop, three separate applications performed the duties of today's Plasma shell. kicker was in charge of putting panels on screen edges, kdesktop put wallpapers and desktop icons on screens, and SuperKaramba allowed for (quite shakily) putting widget windows in an extra layer between the desktop and application windows. kdesktop was essentially non-extensible (i.e. you couldn't make it put anything other than icons on the desktop by installing an add-on of some kind), while kicker and SuperKaramba could be extended by new plugins at runtime, but using incompatible plugin formats that couldn't share any code and had to do their work using entirely different sets of APIs.

With Plasma 4.0, things got a lot better. Plasma widgets need to be written only once, using one set of APIs, and can then be added to both the desktop and to panels - tuning their UI to their respective surroundings. Moreover, things like the desktop and panels themselves are plugins as well, and can be similarly swapped out (allowing us to make very different UIs for different devices within the same framework). And multiple plugin can share the same data sources in the back, also cutting down on overhead.

Enter Folder View

Folder View is one of the bundled plugins, and it illustrates many of the above concepts. It does what kdesktop used to do - visualize folder contents. But not only can you use it to put icons on the desktop, you can also put additional Folder View widgets on top of that desktop, or put Folder View in your panel, all of them showing different folders. In the panel, it will usually take the form of a button that brings up a popup (which can use either list or icon view modes), but it will expand into the panel itself if the panel is roomy enough, allowing even for a file system sidebar.

No more icons on the desktop?

Back in Plasma 4.0, we made the decision not to use Folder View as the default desktop layout (default being the operative term - users could change this in config, returning to a more traditional icon desktop). Instead, we left the desktop surface empty by default, and had Plasma add a Folder View widget on top of it.

We had reasons for that. We wanted to let users know about Plasma's new abilities: highlight its more modular nature, encourage experimenting with new setups and personalized mix-and-match. We didn't want the desktop to be constrained by the skeuomorphic desktop metaphor that at the time looked like it might well be on the way out (as indicated e.g. by a pervasive shift from spatial to browser-style file management across systems). It was exciting to ponder what things might fill the void left by shedding those icons.

Yes - icons on the desktop

More recent history has shown, however: Icons are here to stay. In mobile, there's been an explosion of new platforms that have really doubled-down on the icons-on-the-homescreen thing, making it more popular than ever. Many of those platforms also mix in widgets as we do, meaning nine years after 4.0, both our long-time and our still to-be-recruited users get all of this with ease now. We no longer need to try so hard when it comes to doing the onboarding for Plasma's key concepts.

The evolved landscape leads us to believe that Folder View is now the better default, and this is what Plasma 5.10 will be shipping (some distributions, of course, have beaten us to this, or have always done so). It will still be possible to have an empty desktop (it's that "Layout" option in the desktop settings), but it's a role-reversal in what's opt-in and what's opt-out. Likewise, extending Plasma with new desktop layouts is of course also still possible.

Better icons on the desktop

Given Plasma 5's incarnation of Folder View is about to be put front and center, we're putting a lot of effort into making it really shine throughout the 5.10 development cycle. Performance has been improved greatly. We've been thoroughly auditing for interaction issues, sorting through feedback and talking to people about how they use Folder View. This has lead to numerous small improvements, often subtle, that improve the feel of using Folder View - e.g. tuning the sizes of various hitboxes and hitpoints to make rectangle selections and dragging icons around that extra bit less cumbersome. Sizes and spacing have been tweaked as well in response user feedback, resulting in a tighter icon grid than before. And there's even some cool new functionality as well.

How you can help

We're committed to making the default experience of Plasma 5.10 - desktop icons included - rock more than ever. If you want to help, several distributions offer live images or packages of current development snapshots. Use them to take a long good look at Folder View, and then let us know about your experience!

Categories: KDE International

Plasma 5.10: Spring-loading in Folder View; performance work

Tue, 01/31/2017 - 11:57
KDE Project:

I was sorely remiss not to blog more during the Plasma 5.9 dev cycle. While 5.9 packs a fair amount of nice new features (e.g. here's the widget gallery in Application Dashboard at some point during development), there was not a peep of them on this blog. Let me do better and start early this time! (With 5.9 out today ...)

Folder View: Spring-loading


Spring-loading functionality in Plasma 5.10's Folder View (click for YouTube)

Folder View in Plasma 5.10 will allow you to navigate folders by hovering above them during drag and drop. This is supported in all three modes (desktop layout, desktop widget, panel widget), and pretty damn convenient. It's a well-known feature from Dolphin, of course, and now also supported in Plasma's other major file browsing interface.

Folder View packs a lot of functionality - at some point I should write a tips & tricks blog on some of the lesser known features and how they can improve your workflow.

Performance work in Folder View ... and elsewhere!

But that's not all! I've also been busy performance-auditing the Folder View codebase lately, and was able to extract many savings. Expect massively faster performance scrolling big folders in big Folder View widgets, lower latencies when navigating folders, and greatly improved Plasma startup time when using Folder View widgets on the desktop. In the case of big folder + big widget, a 5.10 Folder View will also use quite a bit less memory.

I've done similar analysis of other applets, e.g. the Task Manager and the Pager, and done both smaller improvements or looked into more fundamental Qt-level issues that need addressing to speed up our UIs further.

Others on the Plasma team have been up to similar work, with many performance improvements - from small to quite large - on their way into our libraries. They improve startup time as well as various latencies when putting bits of UI on the screen.

While it's still very early in the 5.10 cycle, and it won't be shy on features by the end, performance optimization is already emerging as a major theme for that upcoming release. That's likely a sign of Plasma 5's continuing maturation - we're now starting to get around to thoroughly tuning the things we've built and rely on.

Categories: KDE International

Simple Menu launcher on KDE Store

Mon, 01/30/2017 - 18:00
KDE Project:


Simple Menu v1.0

Quite a while ago already I wrote a launcher menu widget named Simple Menu. It's using the same backend I wrote for our bundled launchers, and it's a little bit like Application Dashboard scaled down into a small floating window, plus nifty horizontal pagination. It's also really simple and fast.

While some distributions packaged it (e.g. Netrunner Linux), it's never been released properly and released - until now! Starting today, you can find Simple Menu on the KDE Store and install it via Add Widgets... -> Get new widgets in your Plasma.

Please note that Simple Menu requires Plasma v5.9 (to be released tomorrow). Actual v5.9, not the v5.9 Beta - it relies on fixes made after the Beta release.

Categories: KDE International