Monday, July 12, 2010

Drag and Drop, Downloads, and SCS.3d Videos

Busy week!

I started doing more Mixxx development on Windows this week and I've been trying to fix lots of little bugs. I'm pretty embarrassed at how badly broken drag-and-drop on Windows was in 1.8.0 Beta 2 - Sorry about that guys, we really didn't do much testing of the library stuff on Windows before the release. It's fixed in our 1.8 code repository, but I have no idea when we're going to make our next release. I think that bug  pretty crippling though, so if enough people complain, I'll try to talk our Windows packager into building a new version for you guys.

On Saturday, we woke up to a nice surprise from our downloads.mixxx.org hosting provider. They cut off downloads to Mixxx 1.7.2 for Win32 because we had too many requests to it! We had a couple thousand downloads in one day, and apparently they're unable to provide us with the 5 TB of monthly bandwidth we pay them for because of CPU usage. After scratching our heads for a while, we ended up redirecting users to a temporary download page with links to a mirror site and a torrent. Big thanks to Mark Glines for helping us out temporarily until we find a permanent hosting solution!

Our MIDI guru, Sean Pappalardo, has put a new video this week showcasing the SCS.3d and SCS.3m MIDI controllers in action:


Lastly, check out YouTube user Scratchtometry busting out his SCS.3d hot cueing and scratching skillz with Mixxx in two videos:


Thursday, July 1, 2010

Mixxx 1.8.0 Beta 2 Released!

The Mixxx team is pleased to announce the second beta of Mixxx 1.8.0! This release brings a large number of bug fixes, performance improvements, and even some small new features.



Here's a summary of the changes in this release:
  • Library:
    • Massive optimization of the new SQLite database-powered library, including:
      • Faster searches
      • In-memory caching layer which minimizes hard disk access
      • Faster library scanning
    • Fixed some Auto DJ bugs
    • Added tooltips to library table
    • Polished up song Properties dialog
    • Library search now looks at album names too
    • Fixed minor library rescanning bugs
    • Fixed crate and playlist creation bugs
    • Fixed drag-and-drop from network shares on Windows
    • Show iTunes playlists as sorted
  • Audio:
    • Added plugin architecture for audio playback
    • Fixed some cueing bugs with pitch-independent time stretch
    • Improvements to vinyl emulation sound quality
    • Improved performance by optimizing hard disk access for audio decoding
    • Legacy 1.7 library importer now imports cue points
    • Faster MP3 loading
    • Improved reliability with certain MP3s and OGGs
  • MIDI:
    • Improved scratching with the SCS.3d
    • Timers now available in MIDI scripts
  • Fullscreen key changed to F11 to conform to de-facto standard.
  • Tons of other bug fixes!

Hotcues
Since everyone's been waiting ever so patiently for this release, we decided to slip a bonus in for you. Mixxx 1.8.0 Beta 2 adds hotcues, which are cue points that start playing when triggered. These are handy for impromptu drumming and remixing because you can trigger different parts of a song quickly. Although our default "Outline Netbook" skin doesn't yet show the hotcue positions on the main scrolling waveform display, the hotcues do show up in the smaller waveform summary.

The keyboard shortcuts for hotcues are Z, X, C, and V on Player 1, and M, <, >, and ? on Player 2. Now go chop some beats! (Update: Forgot to mention that using the Shift key in combination with the above keys clears the hot cues.)

Audio Playback Plugins
The new audio playback plugin framework lets you to install third-party plugins that give Mixxx the ability to playback extra audio formats. Sometimes support for an obscure audio format is difficult to maintain or may be legally encumbered in certain jurisdictions, either of which would preventing us from supporting it. However, third-party developers can now add support for extra audio formats to Mixxx at their own discretion.

The Mixxx Development Team will not distribute audio playback plugins that carry legal uncertainty for us. The responsibility is solely yours to ensure that you are legally entitled to obtain and use any playback plugins provided by a third-party.

Although we don't have any official audio playback plugins available yet, we'd like to invite developers to post their plugins on the Mixxx Add-ons wiki page.

The Road to 1.8.0
Over the next month or so, we'll be wrapping up development of 1.8.0. We've still got many bugs to fix (and could use your help), but we think this latest beta release is a big improvement over the previous one. Give it a shot, and please report any bugs you find! Enjoy, and stay tuned for more news as we finally approach Mixxx 1.8.0.

Monday, June 28, 2010

Turning the Mixxx Blog into a Blog

Near the end of each release cycle, we try to round up as many developers as we can and have a giant meeting to figure out what we're doing for our next release cycle. And by giant, I mean usually four or five people tops.

This time, however, we managed to get eight Mixxx developers spanning thee continents and five timezones together for a Skype meeting to discuss the future of the 1.8 series and beyond.

If you want to check out the full details of our meeting, we've shared some slides that directed the meeting along with our meeting minutes, but I'll try to briefly summarize what we discussed.

One of the big topics was our project management style. Instead of cramming several large new features into one release, we're going to try to focus on one or two features and try to do stable releases more frequently.

We also talked about our next few set of releases, but the only release we can talk about with any certainty is Mixxx 1.9, which will probably be the release that integrates streaming Shoutcast broadcasting via Icecast. We're also going to try to get this out much faster than our previous releases.

Lastly, we want to actively recruit more developers and artists. We need way more help with Mixxx, and we need to be more active at recruiting new contributors. As part of that effort, we'd like to be more open about how development is progressing, and so we're encouraging our developers to blog more. Rather than posting formal-sounding news updates, we're going to start making the blog a bit more fun. We won't hesitate to ask people for help with projects we're working on, and we're going to try to write up some easy projects on the wiki for new contributors to work on.

And if you read this far, we're working on building Mixxx 1.8.0 Beta2. Hopefully we can get it out this week. We usually have to rebuild our releases a few times after we decide a release is finished (yeah, yeah), and I've already rebuilt the Ubuntu packages 3 times, so that's probably a good sign. :)

What I'm listening to:

Monday, April 26, 2010

Google Summer of Code 2010 Projects


The results are in! Google has just announced which students have been accepted into the Google Summer of Code 2010 program. This year, we received many very good applications from students that competed for one of three slots with Mixxx. Due to the volume of applications we received, the application process was highly competitive and we had to make some very tough decisions.

After two weeks of deliberation, we're pleased to introduce our Google Summer of Code students for 2010:
  • Bruno Buccolo - Effects Units based on existing LADSPA Integration
  • William Good - Digital Vinyl System (DVS) / External Mixer Mode
  • Ryan Baker - Sampler

Bruno Buccolo's project involves developing an innovative user interface and control scheme for effects. During our past work on LADSPA effects, we discovered that creating a good user interface with MIDI control would require both more effort and clever thinking than we anticipated. This project aims to simplify effects management and make controlling effects live easy.

William Good will be working on an "External Mixer" Mode to enhance Mixxx's usability with hardware setups. This project will make it easier to connect your hardware mixer to Mixxx and aims to simplify Mixxx's user interface for vinyl control users.

Last but not least, Ryan Baker will develop a sampler allowing DJs to trigger sounds during their DJ sets. A sample bank can increase your flexibility when DJing by allowing you to layer drum loops additional buildups into your mix.

These projects are going to make the Summer extra exciting for our development team, and we hope to give you something to look forward to in a future release! In the meantime, we're fixing bugs in 1.8 and we hope to have an even better Beta 2 release for everyone to play with once we finish up. With 1.8.0 around the corner and some great projects lined up for the Summer, it's an exciting time for Mixxx!

Thursday, March 18, 2010

Mixxx in Google Summer of Code 2010!




Mixxx has been accepted as a mentoring organization into Google Summer of Code 2010!

Google Summer of Code is a program that provides students with a stipend to work on open source software over the summer. Students from all over the globe are matched up with mentors from participating organizations and gain real-world software development experience while working on cool open source projects.

If you're a student with C++ experience, an interest in DJing, and enthusiasm about open source software, then we encourage you to apply to work on Mixxx for the summer! Mixxx is a great opportunity to gain useful experience not only with open source software development, but also with multithreading and realtime multimedia applications.

Mixxx previously participated in Google Summer of Code in 2007 and 2008, and saw the success of several projects like the new waveform widget, improved BPM detection, and our first library overhaul. We have an enthusiastic team of mentors supported by a great community of artists and developers, and we think we've got an intriguing list of project ideas for this year.

So how do you get started? Check out the official Google Summer of Code 2010 site, including the FAQ and program timeline to make sure you're eligible and available for the duration of the program. Please note that the student application period is from March 29th through April 9th. Next, take a look at our GSoC 2010 Project Ideas page and if you'd like to discuss any of the ideas with our mentors, check out the contact information on that page and get in touch!

We're very much looking forward to introducing Mixxx development to a new batch of students this year, and if you're interested on working on Mixxx, we hope to see your application!


Monday, February 15, 2010

Mixxx 1.8.0 Beta 1 Released!



The Mixxx team is proud to announce the first beta of Mixxx 1.8.0!

This beta release is intended to give DJs an opportunity to play with our new features and help us find bugs.

Mixxx 1.8.0 Beta 1 features a slew of major improvements over our last release, including looping controls, support for multiple MIDI devices, and a completely revamped library.

Although our code for playing M4A files in Mixxx is complete, we were disappointed to learn that we cannot ship Mixxx 1.8.0 Beta 1 with M4A support for legal reasons. We're currently exploring other options to bring you this much-requested feature, but in the meantime, we still wanted to have a public beta release for everyone to play with.

We don't expect the stability of this beta release to be as good as 1.7.2, so if you're planning on DJing live, please don't use the 1.8.0 betas. Please report any bugs you find on our bug tracker - It's very difficult for us to keep track of bugs that are reported on the forums or in comments on the blog, so having all our bug reports in one place makes them much easier to manage. Thanks for your cooperation!

If you're planning on switching back and forth between 1.7 and 1.8, we recommend backing up your Mixxx XML library file. You can find your library file, called mixxxtrack.xml in the following places:
  • Windows: Click Start->Run..., and paste in:
    explorer %USERPROFILE%\Local Settings\Application Data\Mixxx
  • Mac OS X: Open Finder, and from the top menu select Go->Go to Folder..., and paste in:
    ~/.mixxx
  • Linux: Open a terminal, and paste in::
    cd ~/.mixxx
From there, copy and paste your mixxxtrack.xml file to a safe location. When you first run Mixxx 1.8, your library will be upgraded to our new database format and stored in a different file called mixxxdb.sqlite. Your mixxxtrack.xml file will be renamed mixxxtrack.bak, and so if you'd like 1.7 to see your old library again, you will either need to rename mixxxtrack.bak to mixxxtrack.xml, or restore the backed up copy of mixxxtrack.xml from your safe location.

Lastly, we wanted to release a beta version to not only let you help us find bugs, but also as an invitation to get involved and help us fix bugs. If you know C++, we encourage you to dive into our source code and try to fix bugs that affect you. We're perpetually short-handed and we're always looking for more help. The more people that get involved, the more fun it is for us too. We understand that looking at a new codebase can be daunting, so if you'd like some extra direction, we'd be more than happy to help you - Come hang out in our IRC channel (#mixxx on Freenode), and we'll get you started!

    Wednesday, December 30, 2009

    Mixxx 1.7.2 Released!



    The Mixxx team is proud to announce the release of Mixxx 1.7.2!

    This bugfix release addresses a number of issues that were discovered in 1.7.1, and is a recommended upgrade for all users.

    Some of the changes include:
    • Improved saving of ordered playlists
    • Fixed MIDI support on OS X
    • Optimize latency settings. This should improve compatibility with certain soundcards/APIs.
    • Improved stability and error handling when loading certain songs.

    Mixxx 1.7.2 is available for Windows, Mac OS X, and Linux. Download Mixxx and start DJing!