Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Brainstorm
  4. QMidi class

QMidi class

Scheduled Pinned Locked Moved Brainstorm
10 Posts 6 Posters 14.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    desco
    wrote on last edited by
    #1

    Hi

    I'm really interested in cross-platform midi programming, but I really missing QMidi class something like RtMidi. I hope It will be part of the QtMultimedia package soon.

    Miklos

    http://www.maajki.com

    1 Reply Last reply
    0
    • A Offline
      A Offline
      andre
      wrote on last edited by
      #2

      I would not count on it. Personally, I don't think there is a big market for it.

      1 Reply Last reply
      0
      • D Offline
        D Offline
        desco
        wrote on last edited by
        #3

        You mean small market like Ableton Live, ACID Pro, Adobe Audition, Cakewalk Sonar, FL Studio, GarageBand, Logic Pro, MAGIX, Pro Tools, Reason, Steinberg Cubase, Steinberg Nuendo or linux based apps Ardour, LMMS, MusE, Qtractor, Rosegarden. I mention the musical instruments vendors like Roland, Yamaha, Akai, Korg, Access, Waldorf, Native Instruments and many midi controller manufacturer what creates patch editors etc.

        http://www.maajki.com

        1 Reply Last reply
        0
        • S Offline
          S Offline
          sabrog
          wrote on last edited by
          #4

          With MIDI we can create lightweight ring-tones. I used long time ago MIDI with my crack's and trainer's for games, because it have a small size.

          QT - Apple QuickTime
          Qt - Nokia's Qt Development Frameworks
          Apple is a competitor of Nokia, so QT != Qt

          1 Reply Last reply
          0
          • A Offline
            A Offline
            andre
            wrote on last edited by
            #5

            I am by no means saying that there is no market for MIDI at all, just that I doubt there is a market for a special, platform independent API within Qt for MIDI. If you see the apps you mention yourself, it is clear that to create a MIDI capable app, you don't really need Qt to support it directly. Rosegarden for instance is Qt based. But hey, I am not a Troll, but a mere Qt user, so there is a good chance that my opinions on this differ from those living at Nokia.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mnagorni
              wrote on last edited by
              #6

              Just subscribed to DevNet to discuss this very issue: Me too I miss both QMidi as well as QPcm classes where the latter would be for raw PCM audio I/O. Currently it seems that the multimedia framework can only playback files. However MIDI-triggered Real Time synthesis does not seem to be covered. There are ways to do this outside of QT by e.g. using the JACK audio connection kit. However it would be much nicer to have convenient classes within the QT framework. Happy to support this with proof of concept softsynth code if this should get implemented. Have done similar things in my ALSA Programming Howto.

              1 Reply Last reply
              0
              • F Offline
                F Offline
                fyngyrz
                wrote on last edited by
                #7

                MIDI and USB support both represent huge holes in Qt's family of APIs.

                Does anyone have a pointer for classes designed to target Qt, but which are created by end users?

                I've written several generally useful classes I'd be willing to contribute, and I would hope to find MIDI and USB there considerably sooner than I'd expect any support from the actual Qt folks.

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  plcl
                  wrote on last edited by
                  #8

                  For my own Linux only MIDI projects, I've created a library, "Drumstick":http://drumstick.sf.net as a wrapper for the ALSA Sequencer API based on Qt4. It is the basement of my projects "KMetronome":http://kmetronome.sourceforge.net/kmetronome.shtml and "KMidimon":http://kmidimon.sourceforge.net/ and maybe in the future will be extended to other operating systems.

                  On the other hand, for my multiplatform project "VMPK":http://vmpk.sourceforge.net/ I've used RtMIDI. These classes are not really hard to use in a Qt4 project, but the functionality is really limited: as the name implies, it offers only real-time MIDI input/output.

                  1 Reply Last reply
                  0
                  • F Offline
                    F Offline
                    fyngyrz
                    wrote on last edited by
                    #9

                    I've tried to include RtMIDI, it compiled ok, but in the link stage, it throws errors I don't know how to resolve (kind of a C++ newbie here... still finding my way.) Here's what I get:

                    @

                    Undefined symbols:
                    "vtable for RtMidiOut", referenced from:
                    __ZTV9RtMidiOut$non_lazy_ptr in RtMidi.o
                    (maybe you meant: __ZTV9RtMidiOut$non_lazy_ptr)
                    "RtMidiOut::initialize(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
                    RtMidiOut::RtMidiOut(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)in RtMidi.o
                    "vtable for RtMidiIn", referenced from:
                    __ZTV8RtMidiIn$non_lazy_ptr in RtMidi.o
                    (maybe you meant: __ZTV8RtMidiIn$non_lazy_ptr)
                    "RtMidiIn::initialize(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
                    RtMidiIn::RtMidiIn(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)in RtMidi.o
                    ld: symbol(s) not found
                    collect2: ld returned 1 exit status
                    make: *** [release/SdrDx.app/Contents/MacOS/SdrDx] Error 1
                    make: Leaving directory `/Users/username/src/sdrdx'
                    The process "/usr/bin/make" exited with code 2.
                    Error while building project SdrDx (target: Desktop)
                    When executing build step 'Make'
                    @

                    I've no idea where to even start dealing with those messages. Can you point me in a proper direction?

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      fyngyrz
                      wrote on last edited by
                      #10

                      NM, found it -- the define...

                      @
                      MACOSX_CORE
                      @

                      ...wasn't being passed along verbatim, probably some extra underscores (or fewer, whatever) in the process of passing it from the project file to the code. I #defined it in the actual source file, and it compiled with only a few warnings (unused parameters to functions), which I fixed.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved