]> Repos - portaudio/commitdiff
updated patest_suggested_vs_streaminfo_latency to generate pdf files
authorrossb <rossb@0f58301d-fd10-0410-b4af-bbb618454e57>
Thu, 4 Aug 2011 14:29:58 +0000 (14:29 +0000)
committerrossb <rossb@0f58301d-fd10-0410-b4af-bbb618454e57>
Thu, 4 Aug 2011 14:29:58 +0000 (14:29 +0000)
test/patest_suggested_vs_streaminfo_latency.py

index c993e85efd5e3fa910750e3246fadd9749b85572..9995949d6e4dae488aec10f047faefc1b62483cb 100644 (file)
@@ -9,6 +9,8 @@ Requires matplotlib for plotting: http://matplotlib.sourceforge.net/
 import os\r
 from pylab import *\r
 import numpy\r
+from matplotlib.backends.backend_pdf import PdfPages\r
+pdfFile = PdfPages('patest_suggested_vs_streaminfo_latency.pdf')\r
 \r
 testExeName = "PATest.exe" # rename to whatever the compiled patest_suggested_vs_streaminfo_latency.c binary is\r
 dataFileName = 'patest_suggested_vs_streaminfo_latency.csv' # code below calls the exe to generate this file\r
@@ -34,7 +36,13 @@ def loadCsvData( dataFileName ):
 \r
     class R(object): pass\r
     result = R()\r
-    result.titleInfo = '%s\n%s\n%s'%(params,inputDevice,outputDevice)\r
+    result.params = params\r
+    for s in params.split(','):\r
+        if "sample rate" in s:\r
+            result.sampleRate = s\r
+\r
+    result.inputDevice = inputDevice\r
+    result.outputDevice = outputDevice\r
     result.suggestedLatency = data[0]\r
     result.halfDuplexOutputLatency = data[1]\r
     result.halfDuplexInputLatency = data[2]\r
@@ -51,7 +59,7 @@ framesPerBufferValues = [0]
 \r
 # could also test: multiples of 10, random numbers, powers of primes, etc\r
 \r
-    \r
+isFirst = True    \r
 \r
 for framesPerBuffer in framesPerBufferValues:\r
 \r
@@ -59,15 +67,28 @@ for framesPerBuffer in framesPerBufferValues:
 \r
     d = loadCsvData(dataFileName)\r
 \r
+    if isFirst:\r
+        figure(1)\r
+        gcf().text(0.1, 0.0,\r
+           'patest_suggested_vs_streaminfo_latency\n%s\n%s\n%s\n'%(d.inputDevice,d.outputDevice,d.sampleRate))\r
+        pdfFile.savefig()\r
+        isFirst = False\r
+            \r
+    figure(2)\r
+\r
     plot( d.suggestedLatency, d.suggestedLatency )\r
     plot( d.suggestedLatency, d.halfDuplexOutputLatency )\r
     plot( d.suggestedLatency, d.halfDuplexInputLatency )\r
     plot( d.suggestedLatency, d.fullDuplexOutputLatency )\r
     plot( d.suggestedLatency, d.fullDuplexInputLatency )\r
 \r
-title('PortAudio suggested (requested) vs. resulting (reported) stream latency\n%s'%d.titleInfo)\r
+title('PortAudio suggested (requested) vs. resulting (reported) stream latency\n%s'%str(framesPerBufferValues))\r
 ylabel('PaStreamInfo::{input,output}Latency (s)')\r
 xlabel('Pa_OpenStream suggestedLatency (s)')\r
 grid(True)\r
 \r
+pdfFile.savefig()\r
+\r
+pdfFile.close()\r
+\r
 show()\r