def paintGL(self): #print('drawing') GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT) now = time.time() - self.startTime GL.glLoadIdentity() GL.glTranslate(0.0, 0.0, -5.0) GL.glScale(2.0, 2.0, 2.0) GL.glRotate(1000 * math.sin(now / 10), 0, 1, 0) GL.glRotate(1000 * math.cos(now / 10), 1, 0, 0) GL.glRotate(100 * math.tan(now / 10), 0, 0, 1) GL.glTranslate(-0.5, -0.5, -0.5) GL.glEnableClientState(GL.GL_VERTEX_ARRAY) GL.glEnableClientState(GL.GL_COLOR_ARRAY) GL.glVertexPointerf(self.cubeVtxArray) GL.glColorPointerf(self.cubeClrArray) GL.glDrawElementsui(GL.GL_QUADS, self.cubeIdxArray) GL.glLoadIdentity() GL.glBegin(GL.GL_LINES) GL.glColor3f(0, 1, 0) #draw the grid for x in range(50): #print(str((x/2)-12.5)) #horizontal GL.glVertex3f(25, -1, ((x / 2) - 12.5)) GL.glVertex3f(-25, -1, ((x / 2) - 12.5)) #forward GL.glVertex3f(((x / 2) - 12.5), -1, 12.5) GL.glVertex3f(((x / 2) - 12.5), -1, -12.5) GL.glEnd() #draw the sound data data = Fourier.fft_abs(self.ear.stream_read()) GL.glBegin(GL.GL_LINES) GL.glColor3f(0, 0, 1) #width is the world space horizontal length of the drawing width = 2 #delta is the space in between lines delta = width / self.ear.chunk for x in range(len(data)): GL.glVertex3f((delta * x - width / 2), 0.00001 * data[x] - 5, -5) GL.glVertex3f((delta * x - width / 2), -5, -5) GL.glEnd() #self.drawData() GL.glFlush()