TheBigW / DRC

Digital Room Correction plugin for rhythmbox
GNU General Public License v3.0
39 stars 1 forks source link

error on clicking calculate filter #11

Closed fossfreedom closed 9 years ago

fossfreedom commented 9 years ago

saw this in the terminal when I completed the measure and then clicked on the second tab and immediately clicked the calculate filter button - note the impulseresponse drop-down correctly had the .wav file that was measured.

http://paste.ubuntu.com/11832349/

N.B. click "download as text" to see the full trace file summary -

(20:10:26) [0x8e0470] [DRCPlugin.updateFilter] .local/share/rhythmbox/plugins/DRC/DRC.py:134: [Errno 2] No such file or directory: '/home/foss/.cache/rhythmbox/DRC/DRCFilters/FilterDRC20150706201019.wav'

TheBigW commented 9 years ago

should be fixed ... never tested single channel :) filters again since I switched to 2 channel filters myself... you shall be able to just load your previous measurement and proceed from that point.

fossfreedom commented 9 years ago

ok - we are moving forward which is good :)

after pulling the latest I see the following when loading the previous wav file and clicking calculate filter

(21:29:09) [0x21b6470] [DRCDlg.set_filter] DRCUi.py:693: ext = .wav
(21:29:09) [0x21b6470] [LoadAudioFile] DRCFileTool.py:331: ext = .wav
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:112: data section found at : 
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:112:  
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:112: 58
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:122: Subchunks Found: 
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:124: b'fmt ', 
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:124: b'fact', 
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:124: b'data', 
(21:29:09) [0x21b6470] [PrintWavHeader] DRCFileTool.py:132: Data Chunk located at offset [50] of data length [262144] bytes
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: ChunkSize: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 262194
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: BlockAlign: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 4
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: AudioFormat: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 3
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: Format: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: b'WAVE'
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: Filename: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: FilterDRC20150706212903.wav
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: ByteRate: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 176400
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: Subchunk1Size: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 18
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: SampleRate: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 44100
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: BitsPerSample: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 32
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: NumChannels: 
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76:  
(21:29:09) [0x21b6470] [DumpHeaderOutput] DRCFileTool.py:76: 1
(21:29:09) [0x21b6470] [LoadWaveFile] DRCFileTool.py:295: numChanels : 
(21:29:09) [0x21b6470] [LoadWaveFile] DRCFileTool.py:295:  
(21:29:09) [0x21b6470] [LoadWaveFile] DRCFileTool.py:295: 1
(21:29:09) [0x21b6470] [LoadRawFile] DRCFileTool.py:251: numChanels : 
(21:29:09) [0x21b6470] [LoadRawFile] DRCFileTool.py:251:  
(21:29:09) [0x21b6470] [LoadRawFile] DRCFileTool.py:251: 1
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101: setting multi chanel filter: attempting to set single kernel
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101:  
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101: <class 'TypeError'>
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101:  
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101: <class 'TypeError'>
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101:  
(21:29:09) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:101: object of type `GstAudioFIRFilter' does not have property `multi-channel-kernel'
(21:29:10) [0x21b6470] [DRCPlugin.set_kernel] DRC.py:105: kernel set
(21:29:10) [0x21b6470] [DRCPlugin.set_filter] DRC.py:229: adding filter
(21:29:10) [0x21b6470] [DRCPlugin.set_filter] DRC.py:231: done setting filter

anyway maybe have a message output after clicking the calculate filter button to say something has happened so that the user knows to move to the next tab?

TheBigW commented 9 years ago

the error is my clumsy way to check for the more advanced property 'multi-channel-kernel'. Which does not exist in your case. Any more elegant property-check way is welcome. Want to try the gst-patch? :) So shall be fine; as a fall-back I use the public available 'kernel' property. About the message box I am not sure....May be helpfull first time but annoying for a second time... how about automatically switching to the next tab in case of success? The same could be done for measurement and would be consistent.

fossfreedom commented 9 years ago

I'll trust you with the gst-patch - this is my primary computer I use for development so I dont want to do anything which could potentially mess stuff up.

Anyway - I like the idea of moving to the next tab - that fits with how the plugin operates and is very user friendly.

TheBigW commented 9 years ago

ok, automatic tab-switch on success of operation is done (how it shall have been from the beginning) . Always was pushing this out and was just 3 lines of code at the end ....