Archive for the 'Uncategorized' Category

Summer of Code Projects

Friday, June 11th, 2010

This year we’re lucky enough to have three students working on Jokosher as part of the Google Summer of Code, two under GNOME and one under GStreamer.

Andi Miller

Andi is looking into making it possible to do collaborative editing tasks between multiple Jokosher instances, between Jokosher and Pitivi and potentially between Jokosher and a small remote control (so you can use your phone/MID to start Jokosher recording/playing without needing to be sat at your PC). The project is progressing well with some Jokosher information and events already being exposed via a dbus interface.

Mentor: Laszlo Pandy

Peteris Krišjanis

Peteris is working on finishing up some old work to provide telepathy support within Jokosher and then further extending this to add support for telepathy tubes. This will make it very easy for users to record VoIP sessions within Jokosher and the tubes support will also tie-in with the collaborative editing project, allowing Andi to send dbus messages via telepathy connections to remote users. The most interesting use case from my perspective is for podcasters working over VoIP, in the scenario where both participants are using Jokosher it should be possible for them to carry out a standard VoIP call and then afterwards have the two Jokosher instances automatically synchronise a high quality recording of each participant’s side of the conversation; so while the VoIP call quality might not be perfect the final audio will sound as if they’re both in a studio together.

Mentor: Mike Sheldon

David Williams

David is attempting to add musical score editing support to Jokosher, allowing people to sketch out musical ideas that can be played back as MIDI instruments alongside normal recorded audio. He’s already made some good progress in creating a python GStreamer element that can output some simple MusicXML based on an internal model (which can then be rendered to MIDI via the musicxml2midi element), this will then later be connected to a score editing UI, with the potential for multiple interface types (traditional scores, guitar tablature, drum events, etc.).

Mentor: Mike Sheldon

So hopefully by the end of the summer we’ll not only have a number of very exciting new features but also three more core Jokosher developers :).

Site down-time

Friday, June 11th, 2010

You may have noticed that the site was unavailable for a number of days recently, this was due to the sudden unexpected loss of a server and our relocation to a new one (big thanks to Jono and Aq for helping to get everything working again). Unfortunately this entailed restoring the site from a slightly out of date backup, so some pages may be a little old and some areas still need fixing (e.g. the documentation site). If you notice anything else still broken please let us know by filing a bug report.

Jokosher 0.11.1 Bug Fix Update

Thursday, March 19th, 2009

Just this week we released an update to last month’s version 0.11. Ubuntu packages and source packages are available on the download page as usual. This is a bug fix release only, so you won’t see any shiny new features. You can see the full list of bugs fixed in this release on the 0.11.1 milestone page in Launchpad. In fact, so many bugs have been fixed recently that the number of open bugs in Launchpad now fits on one single page!

We encountered a general stream fix

The most important change in this release is improved audio stream negotiation in our internal GStreamer pipeline. In previous releases, if your sound card gave an unexpected sample rate, or you attempted to mixdown to a format that used irregular parameters the operation would fail with the very vague message “GStreamer encountered a general stream error”. We had many bugs reported with that vague message, but it was so unspecific that we can only confirm those bugs have been fixed if everyone helps to test. Even if you are used to ignoring those vague messages, please report them as bugs now so we know if issues still exist.

Would it be more exciting if we just called it Jokosher 7?

Michael has been toiling away in his secret lab, and he has let us know that Jokosher for Windows is almost ready to go. The plan is to have another bug fix release available for both platforms simultaneously in a month or so. If you would like to take a sneak peek and give us a hand in catching bugs, please take a look at the preview Windows installer on Michael’s blog.

What’s New in Jokosher 0.11

Tuesday, February 24th, 2009

After six months of hard work we have released Jokosher 0.11. We haven’t given any updates in a while. Our last update was in October, and there was no details on what new features you can expect in this version. So we’re going to lay it out for you here, in plain English with pretty pictures.

Feel free to leave us any comments, either in the comments below, or as a bug in Launchpad. We’ll be doing a purely bug fix release in about a months time. If you think anything could be improved or otherwise changed let us know. Now onto the features.

Click Track Volume Control

Many users have told us that they don’t like the sound of the click track — it is too loud and jarring. Unfortunately until we get looping support implemented for Jokosher we will still be using a constant tone for the click track.

For now we have changed the click track button from an on/off switch to a volume slider. By default it is off all the way, however if you need to hear the tempo you can turn it up as much or as little as you like.

Editable Project Properties

A user requested that we include a way to store notes about the current project such as where the audio files were downloaded from and what license they each have. At the time we were thinking about this, we remembered that there is currently no way to edit any of the project’s metadata.

Now we have a nice new dialog to modify the name and author as well as add whatever other text you would like.

Less Bright Green

We decided to depart slightly from the bright green that has been included in every previous Jokosher release. In version 0.11 the green has been removed from behind the BPM and time signature which are located above the instruments.

You will also notice that the graphic display of the audio is a calm blue instead of sharp green. Let us know what you think of this new colour in the comments.

Freedesktop Compliant XDG Directories

Previously all Jokosher’s settings and other program data were stored in the .jokosher/ folder in the user’s home directory. As recommended by the standard, settings are now stored in .config/jokosher/ and other program data is now stored in .local/share/jokosher/.

This is mostly a technical detail, and most users won’t notice a difference. If you don’t know what XDG is feel free to ignore this one.

Passive Error Dialogs

When something went wrong with Jokosher during playback or recording, a big dialog with the words “Argh!” would jump in your face. This happens much more often than we would like, and to make matters worse sometimes multiple dialogs will appear at the same time.

After being assaulted by these useless error for the last time, we replaced them with passive message boxes very similar to the ones used by GEdit and other GNOME applications. When multiple errors occur, no more than two yellow message boxes will appear in the main window below the instruments.

Spit and Polish

A few minor details that the most observant users might take note of are:

  • The “Project” menu has been removed. Its functions are now launched from the revamped “File” menu.
  • Current timeline position drawing is more seamless.
  • Zoom buttons have been moved to the bottom left corner.
  • If you forgot to configure your recording sound system, you can now access it directly from the “Recording Inputs” dialog.

PulseAudio and JACK Support

As we briefly mentioned above, the recording sound system can be configured to use any input that is supported by GStreamer. Previously recording in Jokosher only worked with ALSA, but now JACK, PulseAudio and OSS are supported.

There is also the ability to use a custom pipeline, which any GStreamer guru will tell you can be used to record from many exotic sources including streaming radio or Bluetooth.

Multi-Channel Recording

If you have a sound card which supports recording more than one channel simultaneously, Jokosher now gives you the option to use it. When multiple instruments are configured to record from different inputs, Jokosher will record each audio stream to a separate file.

This is useful for recording a podcast or a song and you need to adjust the volume of each instrument afterwards.

Crash Recovery

In version 0.10 we debuted our crash recovery feature which automatically saved your project every five minutes to prevent you from losing any work. This approach is used by many applications, but the disadvantage is that in the worse case scenario you will lose the last five minutes of your work.

For Jokosher 0.11 we have completely redesigned and reimplemented the crash recovery feature. While you work, Jokosher keeps a log of all of your actions in the background. If a crash occurs before you save the log will be used to reconstruct the project next time it is opened.

Immediately after you make a change in Jokosher, the data will be safely put to disk. Barring a power failure, you never have to worry about losing data in Jokosher.

Download it Now

If you haven’t got it yet, you can download Jokosher 0.11 from our download page.

We’d like to thank everyone who helped put together this release. Many people submitted bugs and gave us ideas. Once again, feel free to submit your comments below about what you think of this release and what we should be working on for the next one.

Laszlo, Michael and Peteris

Jokosher October Update

Saturday, October 4th, 2008

Jokosher 0.10 Released

After almost a year and a half, we got another release out the door. As I mentioned last time this release did not have as many features as the long wait would suggest. Instead there are a few modest features, many welcomed stability fixes, as 0.10 sets the stage for a faster release cycle and development time for Jokosher. Barring any major disasters with the development team, the last year of stagnation is over. Of course it will go even faster if we get more of you involved in planning, testing, etc.

PulseAudio and JACK support

I have been putting a good chunk of time towards developing the new audio backend feature. It allows the user to select any recording backend and any playback backend that Gstreamer supports. Currently it has been tested with ALSA, OSS, PulseAudio and JACK, but if you know the name of the Gstreamer element you want to use you can specify it as a custom backend in the preferences dialog (think recording from network stream). This feature will make an appearance in 0.11 in time for Ubuntu Jaunty, but you can see a screenshot of it right now, or checkout the custom-audio-src branch and try it yourself.

Jokosher 0.10.1 Bug Fix Release

After releasing 0.10, we continued to do testing ourselves and got a lot of feedback from other users. This made us aware that there were many small bugs which had been overlooked, and could be easily fixed in a few weeks. We did just that and released the bug fix update 4 weeks after 0.10. The source tarball is available on the launchpad release page, where you will also find the list of bugs fixed. We released 0.10 just in time for the feature freeze in Ubuntu Intrepid, and then released 0.10.1 just in time for the Ubuntu beta freeze. Both times the wonderful Daniel Holbach from the Ubuntu MOTU team packaged our release and uploaded it to the Ubuntu universe repository within a few days. If you know any other distros that have the newest version of Jokosher, please let us know and we will add them to the download page.

Multichannel Recording Works!

After years of talking about it, Jokosher was able to finally record multiple channels simultaneously from professional audio cards which offer up to 8 channels. The code for this feature was put into the custom-audio-src branch just a few days ago, and reports have been very positive. There are a few bugs to be worked out before this can be merged into trunk but it would be great if you can try out the branch yourself and report any bugs you encounter. You should expect to see this wonderful feature available in 0.11 along with the JACK and PulseAudio support.

Jokosher August Update

Wednesday, August 13th, 2008

Bazaar and Launchpad Transition

We have just completed our transition to the Bazaar version control system. Our code will now be hosted in Bazaar branches on Launchpad. If you were used to using SVN for getting the latest code here are the equivalent Bazaar commands:

bzr branch lp:jokosher
Which replaces:
svn co

bzr pull
Which replaces:
svn update

The use of Bazaar has the added advantage that you can commit any changes you like to your own branch without requiring developer access. Of course if you want us to copy your changes, please let us know on the mailing list.

Crash Recover Feature

We have started to make use of the flexibility of Bazaar by developing the new crash recovery feature in a separate branch. Last weekend it was merged into the main Jokosher branch. Look for this in the next release of Jokosher, it will definitely be the most visible feature.

User Success/Hate Story

bjwebb on #jokosher reports that he has recently recorded a podcast using Jokosher. The reason he chose it is because it was the only tool which made it possible to record from two sounds cards at once. Jokosher worked well enough to record an entire podcast, but not well enough to avoid becoming the target of the gripe-filled but somewhat constructively criticizing “two minutes of hate segment”. Well done, and we will try our best to avoid the mentioned problems in the future.

Improving PulseAudio Support

While looking into removing the DBus/HAL code which queries the ALSA sound card information, I (Laszlo) discovered that there were many problems with the sound card information in the PulseAudio Gstreamer element. Three days and five patches later, PulseAudio works nicely and one Gstreamer-ALSA bug was fixed as well. This will open the door to using any number of recording systems in the future such as DirectShow on Windows, OS X Audio for Mac, and maybe even JACK if the jacksrc element is ever completed. These fixes should be in the next version of Gstreamer, but because of the tight deadline it probably won’t make it into the next Jokosher release.

Purchasing A Multichannel Sound Card

There has been much discussion on #jokosher about supporting multichannel sound cards. This idea originally started years ago back when Jokosher was very young. Now we are finally getting near to being able to record multiple channels from a single sound card at the same time, and insert them as separate tracks in Jokosher. Since only a few of our testers have access to multichannel cards, we are looking to purchase one or more for developers to use. If you have any interest in making multichannel recording work in Jokosher, or have suggestions for which sound cards are best supported by ALSA please let us know.

The 0.10 Release

We are planning to release next week! During this release cycle we had some big plans, and unfortunately we ended up missing many of the features that would be most visible in the interface. Nonetheless there are many worth while improvements and we will be releasing within two weeks, just in time to replace the very old 0.9 package in Ubuntu Intrepid. Please help us test, and give us your thoughts!

Development Plan for Jokosher 0.10

Saturday, May 10th, 2008

Last Sunday we concluded the IRC meeting, and we decided on a list of things to do for the 0.10 release. We decided for certain that the release will be in August. The tentative release date is August 14th, 2008. All features must be completed by the end of July, or they will not be included in the release. This is to ensure that there is no possibility of the release slipping. We have waited long enough and at this point no feature or bug fix is big enough to be worth missing the distro release cycle.

Here is the list of things you can look forward to in August, or sooner if you run Jokosher from SVN:

  • Auto save project recovery. Constant or very frequent auto saving to an alternate location to allow project recovery when Jokosher starts up from a crash. See bug #76750.
  • More accurate waveform drawing with more efficient backend to save levels to disk. Fixes bug #88335, as well as makes Jokosher load projects faster. This has already been committed to SVN.
  • Replace the obnoxious dialog boxes with passive yellow messages below the toolbar like in Gedit or Firefox.
  • Check on startup to make sure recording from the sound card is possible. If not Jokosher will let you change the default sound card, or the sample rate settings to correct the problem. We may also have time to make an option to attempt to automatically detect the proper settings.
  • Project templates! This feature has been available in SVN since last year, but it will be cleaned up and made simpler for the next release.
  • Many other bug fixes such as #72267, #87785, #212635, and #223115.

You can find the full notes from the IRC meeting in the mailing list archives, and feel free to send in your ideas and comments as well.

Jokosher 0.10 Roadmap Announcement

Wednesday, April 30th, 2008

The Jokosher team would like to announce the long awaited version 0.10, which will be coming out in August. We are looking forward to getting an updated version of the code into the next Ubuntu release, as the current one is from one year ago. Certainly many Hardy Heron users are getting annoyed that their new distribution still contains the old stale version of Jokosher. Many of you have reported crashes and other bugs, many of which have already been fixed. So even if the next release of Jokosher isn’t perfect (it’s not 1.0 yet), it will certainly be an improvement and a step in the right direction.

At the same time, we are also announcing a feature discussion meeting on IRC this Sunday at 18:00 UTC. Just to be clear this is 8pm in Europe, and 2pm on the east coast of North America. For those of you unfamiliar with IRC, you can join our meeting on Sunday by going to our online chat page, and selecting a unique username.

We welcome everyone’s input for the next release, and we will be discussing everyone’s ideas on Sunday. If you can make it to the meeting feel free to give us any suggestions in the chat room. If you cannot make it on Sunday, feel free to post them on the mailing list instead.

For those who are interested, you can read the full text of the announcement from the mailing list.

Jokosher at LugRadio Live 2007

Monday, July 16th, 2007

Once again, a large number of Jokosher community members were present at LugRadio Live 2007 in Wolverhampton, UK. Jono Bacon and Stuart Langridge were the hosts of the event, and I (Laszlo Pandy) and Michael Sheldon were both giving presentations. Some other familiar faces from #jokosher were Ben Thorp, John Green, and Chris Proctor. Below I will share some of the notable Jokosher related bits of the conference.

Jokosher as a text editor

After having attended and hosted the Jokosher BOF at LugRadio Live 2006, I was invited to give a lightning talk for this year’s event. Even though it is called a lightning talk, it is still 30 minutes long, and there was plenty of time for me to talk about Jokosher and give an interesting demo. My talk entitled “Inside Jokosher” covered the internal and development aspects of the program. I started my talking about why we chose to use Python and Gstreamer and how their dynamic nature make Jokosher the most flexible and hackable audio editor available.

In my demo, I showed how it was possible to use the dynamic features to reprogram Jokosher to do anything you could imagine. Using the new extension console, and the API search extension I wrote on the train while travelling to the conference, people new to the Jokosher code can search the documentation for the function they need to do anything the GUI can do, but with more precision. The example I used was splitting at exactly 10 seconds (event.Split(10)) instead of trying to aim the mouse perfectly on the 10 second mark.

At the end of the presentation I managed to turn Jokosher into a text editor, that could also save to a file when you clicked File->Save all using the extension console. The point of this is to encourage people who don’t know how to program to make simple function calls in Jokosher and see what the result is. Once you do that it is only a small step to writing a complete Jokosher extension, to customize or add any feature you (yes I mean you!) want in Jokosher.


The Jokosher BOF was attended by Stuart, Mike, Jono, Henrik Karlsson, and I. Unfortunetly just as we were about to start Jono realized he had lost his mobile (again!) and had to leave to retrieve it. As a result Mike, Stuart and I were forced to imagine what Jono’s opinion would be for the following topics, and then completely ignore it.

  • Extension API: My talk introduced the idea that it was much more flexible and easier to use the core Jokosher API instead of the contrived Extension API that was introduced in version 0.2. Thanks to David, the core is now well documented and extension writers should not have any problems using it. Since there are no extensions maintained by non-Jokosher developers that we know of, the Extension API will be removed in 1.0. If you do rely on the Extension API, come talk to us in #jokosher.
  • Workspace Buttons: Jono has made an issue on the mailing list about the recent changes in SVN to make the workspace buttons toggle individually. With two buttons this allows four different combinations, one of which (both off) is totally useless. At the BOF we decided (without Jono present) that since there are only two views, and the recording view is still visible when in the mix view, both buttons can easily be replaced with a single “Show Mixers” toggle button.
  • Testing Team: The points decided on during the 1.0 planning meeting regarding the testing team and unit tests were reiterated. We still need help writing down the expected functionality of Jokosher, and once that is finished it can be turned into unit tests, or a manual testing checklist. Hopefully we can have this done by the end of the summer, and ready for when the betas some out in September. Helping us write down the way Jokosher is expected to function is a really simple way to learn about how Jokosher works. Unlike coding it takes very little time to get to a point where you can contribute something, so if you haven’t already, come chat with us and start helping out.

The LugRadio Quiz

Bruno Bord hosted the LugRadio Live quiz at the end of the day on Sunday. After a few rounds of intense competition, it came down to one tie-breaker question: “How many lines of code are there in the Jokosher 0.9 release?” After Stuart guessed wrong, Bruno revealed that the “correct” answer was: “It doesn’t matter, because it doesn’t bloody work anyway!” While he does have a point, I would just like to point out for the record that there are 20 242 lines of code, including extensions, in the Jokosher 0.9 release.

Come join the Jokosher testing team on Sunday June 10th!

Wednesday, June 6th, 2007

This Sunday June the 10th at 16:00 UTC will be the first meeting of the new Jokosher testing team, followed by a Gstreamer debugging tutorial to show you how to find and report useful information for all the most hated playback and recording bugs. 16:00 UTC translates to 5pm in England, 6pm in Europe, 9am in Western North America, and 12pm in Eastern North America.

Anyone is free to join, or just help out the testing team from time to time. Here is a list of the team’s responsibilities and what we will focus on during the meeting:

  • Creating a checklist of everything that must be working for the next release.
  • Prioritise bugs in the bug tracker. Make sure the developers know which bugs are most important to our users,
    and negotiate with them to see what can be implemented in time for the release.
  • Advise the developers on the quality of the betas and decide when it is ready to be released.
  • Help the developers implement automated and semi-automated testing to make sure there are no regressions.

If you would like to get involved and make a positive impact on Jokosher but you don’t know how to code, this is a perfect opportunity. This is also a chance to make sure your own bugs are fixed before our grand 1.0 release. Recording and playback are top priorities so if Jokosher doesn’t work on your computer, get in touch to make sure it does for 1.0.

Hope to see you all there!

Update: If you didn’t know already, the place to meet is the #jokosher channel on the IRC server This is where we have all our meetings as well as our general day to day discussion on all Jokosher issues. If you are new to IRC just go to the Jokosher chat page and it will open up the chat room in your browser.