Cross-platform Rosegarden

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Cross-platform Rosegarden

D. Michael McIntyre-3
When I got into acoustic drums, I ended up with an audio interface that
is only useful on Windows or OS-X.  I'm not paying what they want for a
Mac, and that is how I came to be running Windows for audio recording.

Since I finally had to break down and buy a Windows machine, I have been
working on a side project with Richard Bown to take Rosegarden
cross-platform.

The objective is a Rosegarden that can compile and run usefully on
Linux, Windows, and hopefully OS-X, using the same codebase for all
platforms, and with centrally managed, regular releases.

After some initial work that was good for other platforms at the expense
of being too destructive to Linux, I am taking a hard look at switching
from ALSA to RtMidi, which Richard reports as "just about" recording and
playing MIDI in the original Windows fork.

I haven't begun on any of this yet, but it does look encouraging.
RtMidi can use JACK MIDI or ALSA, in that order, which addresses all of
the users who wish we had JACK MIDI support.

The plan I am currently sketching out is to switch Rosegarden over to
RtMidi on Linux, get that working, and then the resulting Rosegarden
will be easier to port to other platforms.  This removes the biggest
dependency that is absolutely Linux-specific.

Before I really dive into pulling all of this together, I thought it
would be appropriate to see how both the developer and user communities
feel about all this.

In the meantime, I'm off to see the new Star Trek movie in IMAX.
--
D. Michael McIntyre

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Rosegarden-user] Cross-platform Rosegarden

D. Michael McIntyre-3
On 07/24/2016 04:37 PM, J.P. Morris wrote:

> That's the single most mission-critical feature of Rosegarden for me
> and last time I looked at the code the gubbins for slaving to an external
> MTC source were spread all across the Alsa-specific code.

You raise an issue I never would have considered.  I don't see an
obvious answer to this one, and some real thought will be required.

In the meantime, the ALSA driver isn't going anywhere.

--
D. Michael McIntyre

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Rosegarden-user] Cross-platform Rosegarden

David Tisdell
I think being multi-platform would be wonderful. I tried to get an OS X port going but I am not a coder and was dependent upon other people to do the heavy lifting. I'll happily test. In my public school teaching, I try to exclusively use open source apps. It helps eliminate the class divide. I use Rosegarden in class as well as MuseScore, Audacity, and Ardour. If Rosegarden were multi-platform, I might not need the others. Thank you.

dave

On Sun, Jul 24, 2016 at 8:25 PM, D. Michael McIntyre <[hidden email]> wrote:
On 07/24/2016 04:37 PM, J.P. Morris wrote:

> That's the single most mission-critical feature of Rosegarden for me
> and last time I looked at the code the gubbins for slaving to an external
> MTC source were spread all across the Alsa-specific code.

You raise an issue I never would have considered.  I don't see an
obvious answer to this one, and some real thought will be required.

In the meantime, the ALSA driver isn't going anywhere.

--
D. Michael McIntyre

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-user mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cross-platform Rosegarden

Yves Guillemot
In reply to this post by D. Michael McIntyre-3
Le dimanche 24 juillet 2016, 16:05:53 D. Michael McIntyre a écrit :
> The plan I am currently sketching out is to switch Rosegarden over to
> RtMidi on Linux, get that working, and then the resulting Rosegarden
> will be easier to port to other platforms.  This removes the biggest
> dependency that is absolutely Linux-specific.
>  

>From a quick glance at RtMidi, it seems that it provides only a raw interface
with the MIDI output timing in charge of the application.
But RG is currently using the ALSA sequencer interface which includes all the
needed timing features.
To implement these timing features using the right source of time and sticking
to the real time is probably not a trivial thing.

Should we not first try to compare the existing cross-platform MIDI API then
choose the most appropriate?
 
Why not jack-midi as we already depends on jack for audio?
What about PortMidi? About something else?

Whatever the new API will be, it would be fine to keep the current ALSA version
usable (through a cmake option) until the new API is fully debugged.

Yves


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cross-platform Rosegarden

D. Michael McIntyre-3
On 07/26/2016 05:08 PM, Yves Guillemot wrote:

> To implement these timing features using the right source of time and sticking
> to the real time is probably not a trivial thing.

No, it is not trivial.  The request for feedback was very productive,
because it drew my attention to some areas of concern I had never
thought about.

Richard and I are trying to find some middle ground on this.  We have
different motives, different preferences, but do share a common interest
in seeing Rosegarden migrate to other platforms.  Also, we share a lack
of free time to work on this.  Ha.

> Should we not first try to compare the existing cross-platform MIDI API then
> choose the most appropriate?

RtMidi was Richard's choice, and he already has code written to make use
of it.  That's why I was aiming that way.  Now that I see the problems,
I'm very interested in an alternative API that's available on all three
platforms.

In any case, the timing/sync stuff is built entirely and exclusively
into the ALSA code in Rosegarden.  That needs to be fished out adapted
somehow, and it's a far taller order than I thought originally.

Honestly, that is just about a deal breaker for me.  Ain't nobody got
time for that.  Especially me.

> Why not jack-midi as we already depends on jack for audio?
> What about PortMidi? About something else?

I was thinking JACK MIDI wasn't available on OS-X.  I could be wrong.

> Whatever the new API will be, it would be fine to keep the current ALSA version
> usable (through a cmake option) until the new API is fully debugged.

Absolutely agreed.
--
D. Michael McIntyre

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cross-platform Rosegarden

Yves Guillemot
Le mardi 26 juillet 2016, 17:55:37 D. Michael McIntyre a écrit :
> I was thinking JACK MIDI wasn't available on OS-X.  I could be wrong.

I don't know. I only saw links to OS-X packages on the jackaudio.org/downloads
page.
That's not an evidence that JACK MIDI is working but the following links seems
to say it works:

http://createdigitalmusic.com/2013/03/jack-for-ios-audio-and-midi-between-apps-high-performance-free/
https://community.ardour.org/manual/osx_midi

Yves


------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
Reply | Threaded
Open this post in threaded view
|

Re: Cross-platform Rosegarden

Aere Greenway-2
On 07/27/2016 01:41 PM, Yves Guillemot wrote:

> Le mardi 26 juillet 2016, 17:55:37 D. Michael McIntyre a écrit :
>> I was thinking JACK MIDI wasn't available on OS-X.  I could be wrong.
> I don't know. I only saw links to OS-X packages on the jackaudio.org/downloads
> page.
> That's not an evidence that JACK MIDI is working but the following links seems
> to say it works:
>
> http://createdigitalmusic.com/2013/03/jack-for-ios-audio-and-midi-between-apps-high-performance-free/
> https://community.ardour.org/manual/osx_midi
>
> Yves
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Rosegarden-devel mailing list
> [hidden email] - use the link below to unsubscribe
> https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
>
Though JACK for Mac OS X appears to be available, my attempt to install
it (on two different Mac OS X machines) did not succeed, and it even
messed up audio on the machines.  Un-installing JACK restored audio on
the Mac to a working condition, fortunately.

I hope other people trying it have better luck than I did.

Make sure it works in a proof-of-concept test, before committing a lot
of effort to it.

- Aere


--
Sincerely,
Aere


------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
[hidden email] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel