An up-to-date look at free software and its makers
Projects on the Move
The number of games available for KDE could start growing soon with the free Gluon library to facilitate programming. A Gnome developer shows how to design user-friendly software. Proprietary PDF editing programs could soon be a thing of the past thanks to PDF Mod.
If you believe politicians, computer games are mainly used to prepare youths to run wild. Yet French KDE developer Sacha Schutz has taken steps to facilitate the development of new games for the K Desktop environment.
Karicat
Gluon [1] is designed to facilitate access to audio and graphics hardware for KDE developers and to help programmers quickly develop a world in which realistic physical laws apply, such as the speed and impact of falling objects.
Schutz has developed the first working program based on Gluon, Karicat [2], which creates avatars similar to Miis [3], the three-dimensional virtual characters for the Wii console (see Figure 1). The program is at a fairly early stage of development and is thus more a demonstration of the capabilities of the underlying Gluon library. When this issue went to print, it did not provide functionality for saving your own creations.
Despite this, Karicat is already an exciting program. In a surprisingly intuitive interface, users can edit a comic character's head by defining the facial features, hair, nose, mouth, ears, eyes, and eyebrows. To do so, users choose from predefined prototypes, which are then customized with simple mouse movements.
The theme (a graphics file in SVG format) defines the basic traits of the new face. Thus far, the package only offers a single theme, although the community will have fun contributing more looks once Karicat is finished. Just like the Miis, the Karicat faces support simple animations that bring an avatar to life.
The Karicat source code is available in a Git repository on the project homepage. If you inspect the source code, you will soon see how easy the Gluon library makes the task of developing a program like Karicat with a fairly impressive range of functions.
Gluon
Gluon currently comprises three core components:
KCL handles input devices with a modular system that lets you support devices other than traditional components, such as mice, keyboards, or joysticks. Schutz is obviously thinking of more recent interaction methods, such as webcams or the controllers that come with the Wii console.
The Gluon KDE Audio Library (KAL) handles sound output for games developed with Gluon. This part is fairly unspectacular because – to put it simply – the whole thing is just designed to pass sound on to the desktop's sound system. This doesn't mean the developers have taken the easy way out: The external OpenAL [4] (Open Audio Library) calculates the rising and falling volume of approaching and disappearing objects, for example.
Most of the work has gone into the third Gluon component, KGL, which handles graphics output and provides the physics engine. Calculating impact and reciprocal actions between objects is one of the most complex tasks in games and other applications with interacting objects; it stands to reason that a fair amount of work is still to be done here.
KGL relies on Box2D [5] for two-dimensional space. The free KGL library simulates realistic acceleration, speeds, collisions, and other physical effects. Most of the work relates to the third dimension, and Gluon development is still in an early stage here. When this issue went to print, the developers were working on integrating the Open Dynamics Engine [6], which does more or less what Box2D does, but in a 3D space.
The Gluon team is looking for volunteers to contribute to the project. You will need C++ skills for this, but graphics artists are also welcome. Gluon contributors should be aware that the library is likely to boost the number of games available for KDE.
Recording
Compared with calculating collisions between three-dimensional objects, the next topic is fairly simple: recording sound with a microphone. From a usability point of view, the technical complexity of designing the user interface does not always relate directly to the complexity of the task. In fact, simple things need intuitive interfaces because no on wants to read the manuals.
Thus far, the Gnome desktop has had the Gnome Sound Recorder (Figure 2). The program does what it is supposed to do without any problems, thus fulfilling the major criterion for a good usability rating. But it has some weaknesses; for example, not many users will be capable of changing the audio input they use on their first attempt. And the layout is not exactly state of the art. This prompted Dutch Gnome programmer Hylke Bons to express a couple of opinions on a new development named Gnome Voice Recorder.
If you follow popular how-tos on developing user-friendly software, you need to sketch the program windows and dialogs before you think about writing a single line of code. Bons has kept to this approach and presents the results of this preparatory work in his blog [7]. We were very excited at Linux Pro Magazine to get an exclusive peek at his latest, unpublished drafts just before this issue went to press.
Figure 3 shows the main window of the currently non-existent Gnome Voice Recorder program. It has shed the configuration functions that occupy a very prominent position in Gnome Sound Recorder and simply contains Record and Stop buttons, a menu, and a list of sound files you have recorded. Bons is looking to move the other settings out into a separate dialog box (Figure 4).
Bons is looking to enhance the Gtk-based desktop's multimedia suite with Gnome Voice Recorder and has based the design on more recent programs in the same field: the Cheese webcam tool [8], the Banshee multimedia player [9], and the F-Spot photo management software [10]. Bons emphasizes the example that Cheese has set by protecting the user against inadvertent direct access to the filesystem. Completed recordings – from the webcam in Cheese's case and from the microphone in Gnome Voice Recorder's case – are automatically sent to the correct directory, where users will find them for further processing.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.