REW Beta Release REW API beta releases

I made only 6 measurements, a measurement #10 was showing up in Overlays which didn't belong to any measurement on the screen. Moving the mouse on it only greyed out other measurements. It disappeared completely after I saved and reloaded the mdat.
 
Overlays, mouse right click, Export IR as txt always picks the first one regardless of the selected measurement:

1724831921966.png
 
Overlays, mouse right click, Export IR as txt always picks the first one regardless of the selected measurement:
The export as text action on overlays exports all the measurements currently selected in the graph legend.
 
Hi @John Mulcahy On Beta 51 when I start RTA and take a measurement by click the record button followed by click the record button again to stop it, the windows shows the graph, the number of averages it used in the bottom left and the average number in the top right corner. At this point, I click SAVE CURRENT measurement and the measurement is saved. Now when I click RESET AVERAGING, I was expecting the graph window to clear up like when you start RTA window after starting REW. But nothing in the window changes. Click record again, did start fresh but there was no visual feedback the RESET command has been accepted like zeroing out the bottom left and top right boxes as well as clearing out the graph.

Is this the expected behavior? I don't use REW frequently but I think in the most current non-beta version the window was getting cleared.
 
Hi John,
When using multiple inputs for measurements, the program seems to freeze whenever one clicks the "Cal data..." button. The "Calibration data" window does not appear until one clicks outside the "Input selection" window. The "Calibration data" window appears every time after the initial freeze issue.

Snap4.png
 
When taking multiple measurements simultenuosly, an average is still shown even when I have deselected that option. In the example below, the blue and green are the actual measurements, the pink graph is the average.
Snap4.png


Snap5.png
 
It may be possible for the Cal data panel to appear behind the Measure dialog, I have fixed that for the next build.
 

Attachments

Last edited:
Your target curve has an 86 dB offset. Use a curve that is 0 dB or thereabouts at 1 kHz.
 
Hi John,

I was trying to do a RMS + phase averaging after aligning the impules responses of sixteen measurement and I ran into this error.

Code:
REW V5.40 Beta 51 running Azul Systems, Inc. JRE 1.8.0_422 64-bit on Windows 10 Locale: language en, keyboard ZA, windows-1252 on 1920x1080 at 96 DPI Running in C:\Program Files\REW
 

Message:
    java.lang.ArrayIndexOutOfBoundsException: 18567
Stack Trace:
18567
    roomeqwizard.MeasData.phase(y:10136)
    roomeqwizard.wK.A(y:5482)
    roomeqwizard.wK.A(y:6737)
    roomeqwizard.wK.Z(y:264)
    roomeqwizard.wK.A(y:198)
    roomeqwizard.wK.A(y:1566)
    roomeqwizard.wK.paintComponent(y:361)
    javax.swing.JComponent.paint(JComponent.java:1056)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JLayer.paint(JLayer.java:433)
    javax.swing.plaf.LayerUI.paint(LayerUI.java:79)
    javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    javax.swing.JComponent.paintComponent(JComponent.java:780)
    javax.swing.JLayer.paint(JLayer.java:428)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
    javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
    javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
    javax.swing.RepaintManager.paint(RepaintManager.java:1272)
    javax.swing.JComponent._paintImmediately(JComponent.java:5158)
    javax.swing.JComponent.paintImmediately(JComponent.java:4969)
    javax.swing.JLayer.paintImmediately(JLayer.java:415)
    javax.swing.plaf.LayerUI.paintImmediately(LayerUI.java:717)
    javax.swing.JLayer.paintImmediately(JLayer.java:410)
    javax.swing.JComponent.paintImmediately(JComponent.java:4950)
    javax.swing.RepaintManager$4.run(RepaintManager.java:831)
    javax.swing.RepaintManager$4.run(RepaintManager.java:814)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
    javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
    javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
    javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
 
Hi John,

I was trying to do a RMS + phase averaging after aligning the impules responses of sixteen measurement and I ran into this error.

Code:
REW V5.40 Beta 51 running Azul Systems, Inc. JRE 1.8.0_422 64-bit on Windows 10 Locale: language en, keyboard ZA, windows-1252 on 1920x1080 at 96 DPI Running in C:\Program Files\REW
 

Message:
    java.lang.ArrayIndexOutOfBoundsException: 18567
Stack Trace:
18567
    roomeqwizard.MeasData.phase(y:10136)
    roomeqwizard.wK.A(y:5482)
    roomeqwizard.wK.A(y:6737)
    roomeqwizard.wK.Z(y:264)
    roomeqwizard.wK.A(y:198)
    roomeqwizard.wK.A(y:1566)
    roomeqwizard.wK.paintComponent(y:361)
    javax.swing.JComponent.paint(JComponent.java:1056)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JLayer.paint(JLayer.java:433)
    javax.swing.plaf.LayerUI.paint(LayerUI.java:79)
    javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    javax.swing.JComponent.paintComponent(JComponent.java:780)
    javax.swing.JLayer.paint(JLayer.java:428)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JComponent.paintChildren(JComponent.java:889)
    javax.swing.JComponent.paint(JComponent.java:1065)
    javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
    javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
    javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
    javax.swing.RepaintManager.paint(RepaintManager.java:1272)
    javax.swing.JComponent._paintImmediately(JComponent.java:5158)
    javax.swing.JComponent.paintImmediately(JComponent.java:4969)
    javax.swing.JLayer.paintImmediately(JLayer.java:415)
    javax.swing.plaf.LayerUI.paintImmediately(LayerUI.java:717)
    javax.swing.JLayer.paintImmediately(JLayer.java:410)
    javax.swing.JComponent.paintImmediately(JComponent.java:4950)
    javax.swing.RepaintManager$4.run(RepaintManager.java:831)
    javax.swing.RepaintManager$4.run(RepaintManager.java:814)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
    javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
    javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
    javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
    javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
It seems the issue is intermittent because I saved the mdat file, re-opened it and executed the same RMS + phase averaging without issues
 
This time I was trying to open a different mdat file and got this error,
Code:
REW V5.40 Beta 51 running Azul Systems, Inc. JRE 1.8.0_422 64-bit on Windows 10 Locale: language en, keyboard ZA, windows-1252 on 1920x1080 at 96 DPI Running in C:\Program Files\REW
 

Message:
    java.lang.NullPointerException
Stack Trace:
    roomeqwizard.MeasData.smoothPhase(y:9482)
    roomeqwizard.MeasData.smoothImmediate(y:9473)
    roomeqwizard.MeasData.filterMeasurement(y:2542)
    roomeqwizard.MeasData.applyFiltersImmediate(y:391)
    roomeqwizard.sB.p(y:2414)
    roomeqwizard.WE.I(y:1088)
    roomeqwizard.WE.Ǔ(y:2061)
    roomeqwizard.WE.valueChanged(y:457)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.fireSelectionChanged(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.access$100(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel$SwingSelectionListener.selectionChanged(Unknown Source)
    ca.odell.glazedlists.ListSelection.fireSelectionChanged(Unknown Source)
    ca.odell.glazedlists.ListSelection.setSubRangeOfRange(Unknown Source)
    ca.odell.glazedlists.ListSelection.select(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.addSelectionInterval(Unknown Source)
    javax.swing.JTable.addRowSelectionInterval(JTable.java:2196)
    roomeqwizard.OF$_B.done(y:10267)
    javax.swing.SwingWorker$5.run(SwingWorker.java:737)
    javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
    sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
    javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
    javax.swing.Timer.fireActionPerformed(Timer.java:313)
    javax.swing.Timer$DoPostEvent.run(Timer.java:245)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
 
This time I was trying to open a different mdat file and got this error,
Code:
REW V5.40 Beta 51 running Azul Systems, Inc. JRE 1.8.0_422 64-bit on Windows 10 Locale: language en, keyboard ZA, windows-1252 on 1920x1080 at 96 DPI Running in C:\Program Files\REW
 

Message:
    java.lang.NullPointerException
Stack Trace:
    roomeqwizard.MeasData.smoothPhase(y:9482)
    roomeqwizard.MeasData.smoothImmediate(y:9473)
    roomeqwizard.MeasData.filterMeasurement(y:2542)
    roomeqwizard.MeasData.applyFiltersImmediate(y:391)
    roomeqwizard.sB.p(y:2414)
    roomeqwizard.WE.I(y:1088)
    roomeqwizard.WE.Ǔ(y:2061)
    roomeqwizard.WE.valueChanged(y:457)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.fireSelectionChanged(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.access$100(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel$SwingSelectionListener.selectionChanged(Unknown Source)
    ca.odell.glazedlists.ListSelection.fireSelectionChanged(Unknown Source)
    ca.odell.glazedlists.ListSelection.setSubRangeOfRange(Unknown Source)
    ca.odell.glazedlists.ListSelection.select(Unknown Source)
    ca.odell.glazedlists.swing.DefaultEventSelectionModel.addSelectionInterval(Unknown Source)
    javax.swing.JTable.addRowSelectionInterval(JTable.java:2196)
    roomeqwizard.OF$_B.done(y:10267)
    javax.swing.SwingWorker$5.run(SwingWorker.java:737)
    javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
    sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
    javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
    javax.swing.Timer.fireActionPerformed(Timer.java:313)
    javax.swing.Timer$DoPostEvent.run(Timer.java:245)
    java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    java.awt.EventQueue.access$500(EventQueue.java:97)
    java.awt.EventQueue$3.run(EventQueue.java:709)
    java.awt.EventQueue$3.run(EventQueue.java:703)
    java.security.AccessController.doPrivileged(Native Method)
    java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
This one seems to be intermittent too as I was able to load the file without issues the second time.
 
This one seems to be intermittent too as I was able to load the file without issues the second time.
The errors are probably threading issues from background tasks that are running when measurements load to ensure any filters have been applied. I'll see if I can fix that in the next build. The averaging problem is likely another threading issue I'll also look at.
 
Builds updated today (beta 52) with these changes:
  • Added: Show one-time prompts to use right click on measurements and graphs
  • Added: Prevent users from saving files to the REW temp folder
  • Fixed: On Linux interfaces could be opened with too many channels if they declared a very high maximum channel count
  • Fixed: Input cal data panel could appear behind the Measure dialog
  • Fixed: Pressing the Ctrl key when viewing the measurement group details popup or the new group dialog moved focus to the group notes pane
  • Fixed: A stepped sine measurement that was stopped due to excessive clipping would cause an exception
  • Fixed: Allow graphical filter edit with a house curve that has an offset
  • Fixed: Possible threading issues during some operations
 
Hi first post, I use the oca evo html and using rew beta 52 got the following error.

REW V5.40 Beta 52 running Azul Systems, Inc. JRE 1.8.0_422 64-bit on Windows 10 Locale: language en, keyboard GB, windows-1252 on 2048x1152 at 96 DPI Running in C:\Users\Game\AppData\Local\Programs\REW


Message:
java.lang.NullPointerException
Stack Trace:
roomeqwizard.QE.E(y:1279)
roomeqwizard.QE.propertyChange(y:1998)
java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(SwingPropertyChangeSupport.java:92)
roomeqwizard.MeasData$9.run(y:3824)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Thanks.
 
Last edited by a moderator:
Fixed: Phase wraps may not be shown correctly on the predicted phase trace

This seems to be mostly fixed... Thank you! Though, I will just note there still appears to be exceptions to the way the phase traces are plotted:
1725593916241.png 1725593921952.png
Bass HPF applied to green speaker curve in EQ window

Not a big deal, to be honest, but nevertheless curiously noticeable.
 
In the RTA window, when trying to save graphs using the buttons at the top, an exception occurred.
 

Attachments

Back
Top