Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Synchronize an QOpengl line with audio file
Forum Updated to NodeBB v4.3 + New Features

Synchronize an QOpengl line with audio file

Scheduled Pinned Locked Moved Unsolved General and Desktop
qopenglaudiomultimedia
16 Posts 2 Posters 2.8k Views 1 Watching
  • 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.
  • mrjjM mrjj

    @HW-Developer
    well did u subclass QOpenglWidget ?
    If yes, you can just add a slot to it like
    public slots:
    void PositionChanged( int pos) ;

    and in cpp
    void yourclassname:: PositionChanged( int pos) {
    change the variable that controls the red line.
    }

    H Offline
    H Offline
    HW-Developer
    wrote on last edited by HW-Developer
    #5

    @mrjj for example if we have this code to draw the red line

    glColor3f(1.0, 0.0, 0.0);
    glBegin(GL_LINES);
    glVertex3f(-1 + (redLine*scaleFactor), 1 + -(0 * 0.016), -1.0);
    glVertex3f(-1 + (redLine*scaleFactor), 1 + -(130 * 0.016), -1.0);
    glEnd();
    

    //scaleFactor is a float variable which determines the space before the red line
    //redline is a float variable = 320 + 160;

    and i create the positionChanged(int position) methode, what should i change using the position variable?

    mrjjM 1 Reply Last reply
    0
    • H HW-Developer

      @mrjj for example if we have this code to draw the red line

      glColor3f(1.0, 0.0, 0.0);
      glBegin(GL_LINES);
      glVertex3f(-1 + (redLine*scaleFactor), 1 + -(0 * 0.016), -1.0);
      glVertex3f(-1 + (redLine*scaleFactor), 1 + -(130 * 0.016), -1.0);
      glEnd();
      

      //scaleFactor is a float variable which determines the space before the red line
      //redline is a float variable = 320 + 160;

      and i create the positionChanged(int position) methode, what should i change using the position variable?

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #6

      @HW-Developer
      I would assume redLine variable ?

      H 1 Reply Last reply
      0
      • mrjjM mrjj

        @HW-Developer
        I would assume redLine variable ?

        H Offline
        H Offline
        HW-Developer
        wrote on last edited by HW-Developer
        #7

        @mrjj When i use redLine =0, it gives me this result:
        0_1543423125490_cap1.PNG
        so 160 is the space between the small grey lines
        and 320 is just a number that i added so the red line will be in the same line with my slider
        0_1543423370788_cap2.PNG

        mrjjM 1 Reply Last reply
        0
        • H HW-Developer

          @mrjj When i use redLine =0, it gives me this result:
          0_1543423125490_cap1.PNG
          so 160 is the space between the small grey lines
          and 320 is just a number that i added so the red line will be in the same line with my slider
          0_1543423370788_cap2.PNG

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #8

          @HW-Developer
          so the redline default offset is 320+160.
          so if you add to that, it will move the redline.
          Do you mean to hook up the slider so it moves the redline or what is task?

          H 1 Reply Last reply
          0
          • mrjjM mrjj

            @HW-Developer
            so the redline default offset is 320+160.
            so if you add to that, it will move the redline.
            Do you mean to hook up the slider so it moves the redline or what is task?

            H Offline
            H Offline
            HW-Developer
            wrote on last edited by
            #9

            @mrjj The slider was my first test so to have the same result i did have with my slider i initialize the red line on the same line with that slider so when the audio is playing, they will be moving in the same time

            mrjjM 1 Reply Last reply
            0
            • H HW-Developer

              @mrjj The slider was my first test so to have the same result i did have with my slider i initialize the red line on the same line with that slider so when the audio is playing, they will be moving in the same time

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by
              #10

              @HW-Developer
              ok.
              so now you want a method in QOpenglWidget that also moves the redLine ?

              H 1 Reply Last reply
              0
              • mrjjM mrjj

                @HW-Developer
                ok.
                so now you want a method in QOpenglWidget that also moves the redLine ?

                H Offline
                H Offline
                HW-Developer
                wrote on last edited by
                #11

                @mrjj Yes that's right

                mrjjM 1 Reply Last reply
                0
                • H HW-Developer

                  @mrjj Yes that's right

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @HW-Developer
                  Ok, i assumed you subclassed it ?
                  like
                  class MyGLWidget : public QOpenGLWidget ...

                  so you can just add a new method to it to alter the redLine variable.

                  H 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @HW-Developer
                    Ok, i assumed you subclassed it ?
                    like
                    class MyGLWidget : public QOpenGLWidget ...

                    so you can just add a new method to it to alter the redLine variable.

                    H Offline
                    H Offline
                    HW-Developer
                    wrote on last edited by
                    #13

                    @mrjj Yes of course i already did what is necessary to have the drawing ruler that i upload it above

                    mrjjM 1 Reply Last reply
                    0
                    • H HW-Developer

                      @mrjj Yes of course i already did what is necessary to have the drawing ruler that i upload it above

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #14

                      @HW-Developer
                      ok but you question was
                      " how to create positionchanged method in my QOpenglWidget class,"
                      so i must be missing something you ask about ?
                      (if you already did make such method)

                      H 1 Reply Last reply
                      0
                      • mrjjM mrjj

                        @HW-Developer
                        ok but you question was
                        " how to create positionchanged method in my QOpenglWidget class,"
                        so i must be missing something you ask about ?
                        (if you already did make such method)

                        H Offline
                        H Offline
                        HW-Developer
                        wrote on last edited by HW-Developer
                        #15

                        @mrjj I already draw the qopenglwidget but I did not synchronize it with the audio file using positionchanged method that I did ask you about

                        mrjjM 1 Reply Last reply
                        0
                        • H HW-Developer

                          @mrjj I already draw the qopenglwidget but I did not synchronize it with the audio file using positionchanged method that I did ask you about

                          mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by
                          #16

                          hi
                          well you can hook up the AUDIO positionchanged
                          signal to your own method (slot)
                          using connect.
                          http://doc.qt.io//qt-5/signalsandslots.html

                          so it will directly call your method when it changes.

                          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