Sunday 29 May 2016

Week 1 // POC time!

Hey Everyone,

So the first week of the coding period is over already. The week just whizzed by for me. Most of the time was spent in ideating, discussing problems and their possible solutions with Tuukka(my Mentor), and then figuring out Mixxx's midi handling functions internally, and then trying to code them up! :)

We have zeroed in on some concrete steps for the upcoming weeks, and one of the major steps out of those is to come up with a smaller POC (Proof of Concept) module. As Tuukka pointed out to some very basic problems challenging the idea of applying MIDI sequence info to different track, we decided to address these problems first and see the feasibility and the extent of the idea of my project. This is very important to clearly code and deliver a working component to Mixxx at the end of this summer.

POC Objective: Come up with a predetermined sequence of MIDI information and apply it on different tracks varying in tempo and observe the results. This is to focus on the following,

  • When two tracks are of different tempo, it might be a problem to apply a midi sequence recorded on say track A and apply to say track B. This could happen due to various reasons but one of the primary reasons can be inaccurate beat detection, etc.
  • To find out what type of MIDI parameters can work and would make sense to include

Further observations will be documented.

I have altered the timelines on my project proposal and we have decided to wrap up the POC by the 14th of June so that based on the results we have an approximate wite 2 months to code a bug free module(hopefully!).

As of now I am at the stage where I am experimenting with Mixxx's midi module and creating my own midi sequence by temporarily storing midi information and copying it. Next step over the weekend and early next week is to check for applying simple midi information to some tracks, then different tracks of the same tempo, and then finally tracks of the different tempo.

You will be able to access my POC code as it shapes up, on my Github.

See you next week!



Thursday 26 May 2016

CommunityBondingPeriod

Community Bonding Period is a very important phase of the GSOC process as I see it. It's a very thoughtful decision on Google's part to make sure all the mentors and participants get comfortable with each other, participants get comfortable with their work which they will soon ensue.

This year, the community bonding period was till the 22nd of May. I took this opportunity to get clarity from my mentor Tuukka (illuusio) about the different expectations from me. We discussed and brainstormed my idea, its possibilities, and the most likely places where we could face tough problems. The project idea itself is quite extensive, and therefore it was necessary to pinpoint this to the exact task expectations during this period of coding which will follow.

As I understand, personally my objective is two fold, learning and implementing. This is always the case in any new undertaking. I am relatively new to Qt and C++ development, but as a man who has worked with Python primarily, I could pick up the concepts, and I still am. I am also trying to utilise my time in solving bugs in similar areas of the Mixxx code as I would be working on to increase my understanding.

I have 3 months to finish working on this idea which I am all pumped up about. Honestly, now I am also excited about learning to use Qt and C++ on an application at the level of Mixxx.

Let the Coding begin! 

HelloGSOC

Hello Everyone!

I am Anirudh, and I will be contributing to Mixxx this summer under the Google Summer of Code program. This blog is going to be the place where you will find all the details about my project, updates, and everything in between. You can use the comments section for any comments, doubts and suggestions, or you can reach out directly to me. All feedback is highly appreciated! :) 

So what am I working on?

My project is called 'MIDI Sequence Recording and Playback'. Its a a feature which I am trying to add to Mixxx, which will basically enable a performer to record all his MIDI information in a particular time period and use it later on different tracks. 

You can find my GSOC project page here.

Here's to an interesting summer of coding! :)