Audacity gets new functionality via Google Summer of Code
By Forrest Cook
September 17, 2008
Audacity is a
popular and
award winning
multi-track open-source and cross-platform audio editor project
that is built on the
wxWidgets GUI library.
LWN
looked at
Audacity in 2006.
The Audacity project
announced its participation in the 2008
Google Summer of Code student code writing event
on April 21, 2008. GSoC 2008 is wrapping up and the
Audacity site notes the progress made this summer:
Four students participating with Audacity in Google Summer of Code successfully completed their projects, and their code will be in future versions of Audacity. The four projects were:
FFmpeg support, to greatly increase the range of file formats that can be imported and exported.
New GUI classes for future use in displaying audio tracks.
On-demand/level-of-detail file loading, for near-instant loading and editing of uncompressed files.
Sticky labels that stay with the audio through cut and paste.
The Audacity GSoC
projects page details the goals and achievements made by
the students, we'll examine the results.
Руслан Ижбулатов
worked on adding FFmpeg support to Audacity in order to allow
importing and exporting of a wider variety of audio file types.
From the FFmpeg site:
"FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows."
Audacity natively supports the WAV AIFF, MP3, Ogg Vorbis, and FLAC
formats, the FFmpeg library supports those, and adds support for the
GSM WAV, MP2, M4A (AAC), AMR, WMA, and many more formats.
The
Project Progress page has details on how to access this
new functionality.
The page also includes the full list of FFmpeg supported formats.
The FFmpeg library can linked and loaded dynamically at run time,
this allows it to be distributed as a separate package and
removes any CODEC licensing issues from Audacity.
Johannes Kulick added two new wxWidgets GUI classes and used
those in Audacity to improve the display of audio tracks.
His
project abstract states:
"Audacitys main user interface is the track panel. Its GUI architecture is written from scratch by the audacity team and as the team noticed the TrackPanel.cpp is a horrendous mess which is neither easy to maintain nor to extend.
There are the wxWidgets classes wxGridSizer and wxFlexGridSizer which fit well in the requirements of the track panel. They arrange its content in a table. While in wxGridSizer all rows have the same height and all columns have the same width, in wxFlexGridSizer classes each row can have its own height and each column can have its own width. This is the way the Track panel is arranged, too, but there is one more thing which is important: the ability to drag and drop each track and drag the height of each track as well. And here is the big disadvantage of the wxWidgets classes: they lack the ability of being dragable. If there were classes which have these ability this would be a big step to get a cleaner track panel architecture for Audacity.
So the project idea is that I will implement two classes wxDragGridSizer and wxDragFlexGridSizer which have the ability to do exactly these things."
The
Project Progress tracks the steps that were done to achieve
the end results and the
additional report covers extra work that was done
to extend support for the wxAUI (Advanced User Interface)
toolbar and window docking library.
Michael Chinen's project involved
on-demand/level-of-detail file loading for near-instant loading and editing of uncompressed files. The
Project Progress explains:
"The QuickLoad project added near-instant loading of PCM uncompressed files without waiting for waveform calculation to complete. Playing and editing is now possible on demand at any point in the track while the waveform image is still being calculated in the background." The Description section further clarifies the new capability:
"Previously, it might be necessary to wait several minutes for the file to load and be useable while the waveform computation was completed.
The waveform image will draw itself automatically during computation, but users can move the point in the file from which computation takes place, thus allowing them to view and edit any point in the file instantly. "
This project also allowed for further improvements to Audacity:
"One of the reasons the Quickload project was approved was because the OD framework will provide a method in which other tasks, such as loading non-wav formats, processing effects, and exporting, can be made multithreaded. The current implementation of the OD framework is written generally so that this is possible, which means that future implementations of OD tasks will be done writing a minimum of code. Taking advantage of polymorphism, this kind of thing should get easier and easier as more tasks are made to support OD."
Mark Deutsch worked on adding
sticky labels that stay with the audio through cut and paste
operations. The
Project Progress
explains:
"Label Track Enhancements removed a long-standing limitation that Audacity's labels did not stick to the audio track and move and edit with them."
Further:
"The biggest single addition from this project was the concept of linking tracks. Two or more linked tracks form a group. When an action is performed in one track, the other tracks in the group mirror that action. For example, if a group consists of one audio track and one label track, deleting part of the audio track will also delete that part of the label track.
This linking is done implicitly, and depends on the layout of the tracks. A group is defined as a set of contiguous audio tracks followed by a contiguous set of label tracks."
The sticky labels addition also improves the way Audacity
handles insertions and other operations:
"This functionality doesn't only handle deletes, though. Inserting audio, whether through pasting or using the "Generate" functions also shifts the grouped tracks correspondingly. The "Change" functions (Change Speed/Tempo/Pitch) are also supported. Slowing down a track will insert silence into linked tracks to keep all the tracks sync'd. Similarly, speeding up a track inserts silence into that track to achieve the same result."
Lars Luthman was unable to finish the fifth project,
Support for the LV2 plugin architecture,
but he did organize the problem space and produce some code that
should be useful for future work.
The
Project Progress report shows what was accomplished, and the
main Audacity
projects document explains how it ended:
"The project which did not pass still had plenty of good coding work and skill behind it, indeed believed to be fully working on the linux platform. It was communication, possibly to modify the goals shortly after mid term, that really let it down."
The 2008 GSoC projects added a number of useful new capabilities
to Audacity. The wxWidgets project also benefited from the work
with some enhancements that can be used by other projects.
Once again, GSoC proves itself as a program that can focus
in on areas of open-source applications that need improvements,
and produce useful results in a short time span.
GSoC is successful in bringing the guidance of experienced mentors
together with the coding muscle of inspired students.
Comments (4 posted)
System Applications
Database Software
MySQL 5.1.28-rc has been released
A release candidate for the MySQL version 5.1.28 DBMS has been announced.
"
Bear in mind that this is still a "candidate" release, and as with any
other pre-production release, caution should be taken when installing
on production level systems or systems with critical data."
Full Story (comments: none)
phpMyAdmin 2.11.9.1 is released (SourceForge)
Version 2.11.9.1 of phpMyAdmin has been
announced.
"
phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web. Currently it can create and drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage keys on fields.
Welcome to this security update for phpMyAdmin 2.11.9."
Comments (none posted)
PostgreSQL Weekly News
The September 14, 2008 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Mail Software
The Python Replybot 5.0 announced
Version 5.0 of The Python Replybot has been announced.
"
This is
the latest incarnation of my software to send auto-replies to email
messages based on various criteria, with whitelisting and grace
periods. It responds in the most RFC and de-facto standards friendly
way possible, conforming to email best practices."
Full Story (comments: none)
Networking Tools
lutz: 0.6 released (SourceForge)
Version 0.6 of lutz has been
announced.
"
lutz is a small but full-featured Portscanner for Linux. Currently it supports only SYN Scanning, but ist very stable. Scanning of multiple host in cdir/subnet/ranges combination is also supported.
Today i have released Version 0.6 of lutz. I've named that release lutz-ng becouse its a complete code redesign."
Comments (none posted)
Package Management
Adding a signing key to RPM
Over at "orc_orc's sharp edge" blog, there is a
good description of RPM signing keys, including how to verify keys before importing them. "
The RPM package manager has long had the ability (similar to GnuPG) to receive GPG public keys into its trusted store, and then to test assertions about the presence, absence, and validity of a given signing. It can retrieve a remote key with the usual RPM network retrieval capabilities, or perhaps better to avoid MitM ('Man in the Middle') compromises across a network, from the local filesystem, or a local piece of immutable media, such as a CD which has had its md5sum verified."
Comments (10 posted)
Web Site Development
TurboGears 1.0.7 stable released
Version 1.0.7 stable of
TurboGears,
a rapid web development platform, has been announced.
"
This version brings some more bug fixes that could not but included in the last 1.0.6 release, and also fixes a bug which was introduced in the previous release when backporting some identity stuff from the 1.1 branch. All 1.0 users who want to stay in 1.0 before trying out our new 1.1 beta should upgrade to this 1.0.7 release directly without using 1.0.6."
Comments (none posted)
Desktop Applications
Animation Software
Synfig Irregular News
The September 15, 2008 edition of the
Synfig Irregular News
covers the latest news from the Synfig 2D vector animation studio project.
Comments (none posted)
Audio Applications
jack_capture 0.9.30 and Rollendurcmesserzeitsammler 0.0.7 released
Version 0.9.30 of jack_capture has been announced, many new features have
been added.
"
jack_capture is a program for recording soundfiles with jack. Its default
operation is to capture whatever sound is going out to your speakers into
a file. (But it can do a number of other operations as well...)"
Also, a new version of the Audio Rollendurchmesserzeitsammler,
a conservative garbage collector, is out with some code improvements.
Full Story (comments: none)
Business Applications
Chandler Server 1.1.0 released
Version 1.1.0 of Chandler Server has been announced.
"
Chandler Server is a server and Ajax web UI for managing and sharing
calendars, events, and tasks. It implements open data standards
including CalDAV, WebDAV, Atom, and Atompub.
This release contains two significant features and four bug fixes.
Any user can now delete their own account and data by using the
settings dialog. Interoperability with some CalDAV implementations
including iCal 3 should be improved by support for the CTAG draft
standard."
Full Story (comments: none)
opentaps 1.0.2 released (SourceForge)
Version 1.0.2 of opentaps has been
announced.
"
This version contains a number of bug fixes compared to opentaps 1.0.1 and is recommended both as an incremental upgrade for users of opentaps 1.0.1 and for new deployments.
opentaps is an open source ERP and CRM system which includes a full suite of business applications, mobility integration, and business intelligence."
Comments (none posted)
Desktop Environments
GNOME 2.24.0 Release Candidate (2.23.92) released
Version 2.23.92 of the GNOME desktop has been announced.
"
It's the final countdown. Tadada da, tadada da da, tadada da,
tadadadadada! Hrm. I might be missing a da or two. You're lucky that you
can't hear me sing -- you'd be quite scared ;-) So here we are, with the
release candidate for 2.24.0. It's this time of the development cycle,
where we all look at what we achieved and start crying because it's so
beautiful!"
Full Story (comments: none)
GARNOME 2.23.92 announced
Version 2.23.92 of GARNOME, the bleeding edge GNOME distribution,
has been announced.
"
We are pleased to announce the release of GARNOME 2.23.92 Desktop and
Developer Platform. This is the GNOME 2.24 *cough* Release Candidate
*cough*. Yes, indeed.
This release is for everyone! Or, well, close to that. Build it, test
it. And watch out for SVN."
Full Story (comments: none)
GNOME Software Announcements
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
KDE Commit-Digest (KDE.News)
The September 7, 2008 edition of the
KDE Commit-Digest has been
announced.
The content summary says:
"
A KPhotoAlbum developer sprint leads to various developments, including a new viewer and support for image "stacks". Initial lyrics support and a new "Albums" applet in Amarok 2.0. Support for export to OpenDocument text and HTML formats for certain file types in Okular. More functionality in the Plasma "Engine Explorer", an application for data engine development..."
Comments (none posted)
KDE Software Announcements
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
Xfce 4.6 alpha released
Version 4.6 alpha of the Xfce lightweight desktop environment has been
announced.
"
After about 18 months of development, we are pleased to announce the release of Xfce 4.6 ALPHA, codename 'Pinkie'.
Xfce 4.6 is going to be the next major release of the Xfce desktop environment. The previous release was 4.4 with the last bugfix release being 4.4.2 released in December 2007."
Comments (none posted)
DRI2 Protocol Spec Draft v2 released
The DRI2 Protocol Spec Draft v2 has been announced.
"
I've added some
discussion points with ISSUE: in the spec. The new stuff here is the
XChangeWindowAttributes inspired DRI2CopyRegion, that'll let us better
extend it in the future. I clarified and simplified the auth stuff,
dropping the group concept. Also I'm still not convinced that the
swap pipe stuff can't just be an xorg.conf option, or maybe an randr
property on the display (preferred swap pipe or whatever).
And most of all, I'd like to keep the first version simple,
considering that we have a lot of options for extending this as we go."
Full Story (comments: none)
Xorg Software Announcements
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (none posted)
Electronics
CQRLOG: 0.5.1 (SourceForge)
Version 0.5.1 of CQRLOG has been
announced. The software is:
"
An advanced ham radio logger based on Firebird database. Provides radio control based on hamlib libraries (currently support of 140+ radio types and models), DX cluster connection, QRZ callbook (web version), a grayliner, ON6DP QSL manager database etc.
This is bugfix release, no new features added. ADIF import/export fixed."
Comments (none posted)
Financial Applications
boox: version 0.4 beta released (SourceForge)
Version 0.4 beta of boox has been
announced.
"
boox is a very simple Java API for double-entry book-keeping. Data is stored in a SQL database - boox has been developed and tested with postgresql, but should work with any other SQL database for which a jdbc driver is available."
Comments (none posted)
Games
Ember 0.5.4 released
The WorldForge virtual world project has
announced
the release of Ember 0.5.4.
"
Ember is a 3d client for the WorldForge project. It uses the Ogre 3d graphics library for presentation and CEGUI for its GUI system.
This release incorporates the results from the three Google Summer of Code projects. The entity creator is greatly expanded, with scripting functionality, there’s now proper support for terrain modifiers and there’s a working sound system in place."
Comments (none posted)
Multimedia
Elisa Media Center 0.5.10 released
Version 0.5.10 of Elisa Media Center has been announced.
"
A very important and long awaited improvement of this release is the
rewrite from scratch of the video, audio and slideshow players user
interface. The team is proud to present a brand new look with a strong
focus on aesthetics and extensibility; it is fully pluggable and new
controls can easily be added via plugins.
A fair number of bugs were also fixed during this cycle (14
bugs)."
Full Story (comments: none)
Music Applications
Patchage 0.4.2 announced
Version 0.4.2 of Patchage has been announced.
"
Patchage is a graphical modular patch bay for audio/MIDI systems
based on JACK, LASH, and ALSA.
This release adds:
- Support for the new LASH D-BUS interface (currently LASH SVN only)
- Improved LASH GUI (from Nedko Arnaudov's ladi-patchage branch)
- Quick/easy connection of groups of ports in one action
(select all the ports and press enter)
Also released in parallel are the two libraries Patchage depends on,
raul 0.5.1 and flowcanvas 0.5.1."
Full Story (comments: none)
Renoise 2.0 Beta 1 is available
Version 2.0 Beta 1 of Renoise has been announced.
"
Renoise 2.0 provides unprecedented granular control over audio, now with a range of new features
targeting traditional recording artists and composers. A unique approach when compared with
mainstream music sequencers, Renoise's streamlined workflow delivers professional results on
Windows, Macintosh, or Linux.
Why spend hours cobbling beats together with a mouse when you can do it in seconds with a few
keystrokes?"
Full Story (comments: none)
Video Applications
Dirac 1.0.0 released.
The Dirac video codec has released version 1.0. Dirac is a free software, royalty-free codec developed by the BBC. "
The initial implementation of Dirac at resulted in a research
implementation which is referred to as the Dirac codebase. It is now
called dirac-research. It is a reference implementation and also a
codebase for future algorithmic developments. Dirac 1.0.0 is the
release of this codebase." Click below for the full announcement.
Full Story (comments: 12)
Miscellaneous
The GNU PDF project's new blog
The first edition of the
GNU PDF developer blog
has been launched.
"
This is the first weekly report about the development of the GNU PDF project. We plan to release this kind of report so that people can be aware of the progress and on-goings of the project."
Comments (none posted)
Languages and Tools
C
Building the Debian archive with GCC 4.4
Martin Michlmayr reports on his efforts to build roughly 8000 packages from the Debian archive using GCC 4.4. His intent is to find any problems in GCC 4.4 before the release. "
In total, I filed 28 new bugs and ran into 7 known issues. 64% of the
bugs I filed have already been fixed and many of those that are still
open have already received some attention. I'd like to thank the GCC
community for such an outstanding job dealing with incoming bug reports
and fixing compiler regressions." Click below for the full report.
Full Story (comments: 11)
GCC adds support for Picochip
The GCC project has
announced
support for the Picochip platform.
"
Picochip is a 16-bit processor. A typical picoChip contains over 250 small cores, each with small amounts of memory. There are three processor variants (STAN, MEM and CTRL) with different instruction sets and memory configurations and they can be chosen using the -mae option.
This port is intended to be a "C" only port."
Comments (none posted)
Caml
Caml Weekly News
The September 9-16, 2008 edition of the Caml Weekly News
is out with new articles about the Caml language.
Full Story (comments: none)
Java
OpenSwing: 1.7.4 released (SourceForge)
Version 1.7.4 of OpenSwing has been
announced, it includes new capabilities and bug fixes.
"
OpenSwing is a component library that provides a rich set of advanced graphics components and a framework for developing java applications based on Swing front-end. It can be applied both to rich client applications and Rich Internet Applications."
Comments (none posted)
Python
Jython 2.5 Alpha3 released
Version 2.5 Alpha3 of Jython, a Java implementation of Python,
has been announced.
"
Jython 2.5 Alpha3 fixes a bug that caused installation problems for
many Windows users, so Oti Humbel and Leo Soto came to the rescue with
an assist by Geoffrey French. Oti also fixed standalone mode while he
was there."
Full Story (comments: none)
Python 2.6rc1 released
The first release candidate for Python 2.6 is out. The final release is still on track for October 1st. "
You might notice that unlike earlier releases, we are /not/ releasing
Python 3.0rc1 at this time. It was decided that 3.0 still needs time
to resolve open issues and that we would not hold up the 2.6 release
for this. We feel that Python 2.6 is nearly ready for its final
release." Click below for the full release announcement.
Full Story (comments: none)
Python-URL! - weekly Python news and links
The September 16, 2008 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
Tcl-URL! - weekly Tcl news and links
The September 16, 2008 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Version Control
GIT 1.6.0.2 released
Version 1.6.0.2 of the GIT distributed version control system
has been announced. Changes include numerous bug fixes and
documentation updates.
Full Story (comments: none)
Miscellaneous
OpenOpt 0.19 announced
Version 0.19 of OpenOpt has been announced, it includes new
capabilities and bug fixes. The description states:
"
OpenOpt v 0.19, free (license: BSD) optimization framework
(written in Python language) with connections to lots of solvers
(some are C- or Fortran-written) is released."
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>