Igevorse Otonnoleare

JACK Timebase implemented

01 June 2014 | 10:07 pm

Overview of work this week

In short:

  • Fixed bugs and crashes.
  • Published implementation of JACK Timebase.
  • Began working on selecting channels for staves for JACK MIDI Out.

I found a few bugs and fixed it - I'll talk about this later.

I began working on JACK Transport, as I said last week.

Features that we need from JACK Transport:

1. Play/stop

2. Reposition (locate/seek)

3. Timebase

The Play/stop feature was already implemented, but most of fixed bugs are related to this feature. Repositioning never was implemented, so it need to be done from scratch.

Timebase was implemented this week. With timebase callback we can tell our current tempo, time signature and beat position to JACK.

Also I began working on "selecting channels for staves" feature. This feature is necessary for better routing midi-signals, controlling VST(i) and making MuseScore more professional. People asking for this feature for years (from 2011 I think), so I hope they would be happy Smile.

I've got use cases from users, wrote to MuseScore developer mailing lists about it and outlined possible solutions:

1. Add spinbox to mixer to change channels of each stave (show it only if Preferences->I/O->"Use JACK MIDI" checkbox is checked).

2. Create a port for each staff.

Most likely there is N port limit in different OS (Windows, Linux, Mac), so the second solution is failing.

The first one is not the best too, but could be improved. For example, change channels not in Mixer, but in the Instrument dialogue. So, there are options I need to consider.

If you have some proposals or advices about this feature - you're welcome to discussion.

Also feel free to ask about implementing some JACK-related features that you need and want.

You can find me on IRC #musescore as igevorse.

Key tasks that stalled

I had a beautiful time of finding a causes of crashes. The solution is fairly simple, but to find it I had lots of debug hours.

But now it's OK.

Upcoming tasks this week

Discuss assigning channels to staves.

Work on JACK Transport reposition (locate).

Also I want to mention that the next week would be the last week of my exams, and the hardest one. So, maybe there wouldn't be any code at all :( .

« JACK MIDI OUT: now published · JACK Timebase implemented · Realtime midi input: to be or not… »

  1. Comments (1):

  2. avatar
    David Bolton · 02 June 2014 | 05:15 am

    Thank you for all your work on this. Good luck with exams next week!

Leave your response!

Style `onWall HashCode` by Lited & Sayori
Get your own blog immediately for free with Lited!