Giter VIP home page Giter VIP logo

drc's People

Contributors

fossfreedom avatar thebigw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

shaquilleliu

drc's Issues

hardcoded entries

Just looking at this file DRCFileTool.py - saw there were a few hardcoded "/home/tobias/.local/share..." paths

intentional?

Obviously will only work for other people call tobias ... :)

suggested enhancement for setfilter

on the setfilter tab you have to choose the drcfilter

clicking the open file button opens the folder in the main source directory.

Suggestion - open the directory to a subfolder containing the two calcfilter text files so that the user doesnt just pick a random source file?

choosing impulse response open file doesnt appear to do anything

clicking open on the calculate filter open impulse response dialog lets you choose (or create?) a file in a .cache folder. Typing in a name and clicking open doesnt add the typed in text file into the impulse response edit field - it stays as "(none)"

What is supposed to happen here?

debian packaging

some initial issues:

make file appears to be wrong - suggestion for the contents?

DESTDIR=
SUBDIR=/usr/lib/rhythmbox/plugins/DRC/
DATADIR=/usr/share/rhythmbox/plugins/DRC/

all:
clean:
    - rm *.pyc

install:
    install -d $(DESTDIR)$(SUBDIR)
    install -m 644 *.py $(DESTDIR)$(SUBDIR)
    install -m 644 LICENSE.txt $(DESTDIR)$(SUBDIR)
    install -m 644 DRC.plugin* $(DESTDIR)$(SUBDIR)  
    install -d $(DESTDIR)$(DATADIR)
    install -m 644 calcFilter* $(DESTDIR)$(DATADIR)
    install -m 644 measure* $(DESTDIR)$(DATADIR)
    install -m 644 erb44100.drc $(DESTDIR)$(DATADIR)
    install -m 644 *.glade $(DESTDIR)$(DATADIR)
    

README:

the README instructions for the ubuntu install lists the extra packages required - but python3-autopilot and alsa-utils as suggested in install_deps.sh is not listed.

python3-autopilot:

adding the above as a dependency pulls in 18Mb of other packages - are you really sure this is a required package dependency?

application freezes when choosing tools-drc

moving forward.

Now when I choose tools-drc the application goes black - basically it freezes.

From the terminal I see this:

(rhythmbox:10574): Gtk-WARNING **: gtk_file_chooser_button_set_property: Choosers of type `GtkFileChooserButton' do not support `GTK_FILE_CHOOSER_ACTION_SAVE'.

(rhythmbox:10574): Gtk-CRITICAL **: gtk_radio_button_set_group: assertion '!g_slist_find (group, radio_button)' failed

last few lines of running rhythmbox -D DRC

(21:04:30) [0x1969b90] [DeserializeClass] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:167: 40
(21:04:30) [0x1969b90] [DeserializeMember] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:144: Deserializing : 

(rhythmbox:10613): Gtk-WARNING **: gtk_file_chooser_button_set_property: Choosers of type `GtkFileChooserButton' do not support `GTK_FILE_CHOOSER_ACTION_SAVE'.

(rhythmbox:10613): Gtk-CRITICAL **: gtk_radio_button_set_group: assertion '!g_slist_find (group, radio_button)' failed
(21:04:30) [0x1969b90] [getDeviceListFromAlsaOutput] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:317: found pattern : [('0', 'Ensoniq AudioPCI', '0', 'ES1371 DAC2/ADC'), ('0', 'Ensoniq AudioPCI', '1', 'ES1371 DAC1')]
(21:04:31) [0x1969b90] [getDeviceListFromAlsaOutput] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:317: found pattern : [('0', 'Ensoniq AudioPCI', '0', 'ES1371 DAC2/ADC')]
(21:04:31) [0x1969b90] [InputVolumeProcess.stop] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:219: stoping volume monitoring
(21:04:31) [0x1969b90] [DRCDlg.getAlsaRecordHardwareString] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:714: alsa input device : hw:0,0

running via rhythmbox -d I see this:

(21:00:02) [0x8ac630] [DeserializeMember] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:144: Deserializing : 
(21:00:02) [0x8ac630] [DeserializeClass] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:166: Deserializing : sweepDuration : 
(21:00:02) [0x8ac630] [DeserializeClass] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:167: 40
(21:00:02) [0x8ac630] [DeserializeMember] /usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py:144: Deserializing : 
(21:00:02) [0x8ac630] [find_plugin_file] /usr/lib/rhythmbox/plugins/rb/rb.py:156: looking for DRCUI.glade in /usr/share/rhythmbox/plugins/DRC

(rhythmbox:10529): Gtk-WARNING **: gtk_file_chooser_button_set_property: Choosers of type `GtkFileChooserButton' do not support `GTK_FILE_CHOOSER_ACTION_SAVE'.

(rhythmbox:10529): Gtk-CRITICAL **: gtk_radio_button_set_group: assertion '!g_slist_find (group, radio_button)' failed
(21:00:02) [0x8ac630] [getDeviceListFromAlsaOutput] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:317: found pattern : [('0', 'Ensoniq AudioPCI', '0', 'ES1371 DAC2/ADC'), ('0', 'Ensoniq AudioPCI', '1', 'ES1371 DAC1')]
(21:00:02) [0x8ac630] [getDeviceListFromAlsaOutput] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:317: found pattern : [('0', 'Ensoniq AudioPCI', '0', 'ES1371 DAC2/ADC')]
(21:00:02) [0x8ac630] [InputVolumeProcess.stop] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:219: stoping volume monitoring
(21:00:02) [0x8ac630] [DRCDlg.getAlsaRecordHardwareString] /usr/lib/rhythmbox/plugins/DRC/DRCUi.py:714: alsa input device : hw:0,0
(21:00:32) [0xe3c870] [electromagnetic_shotgun] rb-metadata-dbus-service.c:176: shutting down (45s idle)

error on clicking calculate filter

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'

error on using tools-drc

saw this error when using the tools-drc menu option:

 File "/usr/lib/rhythmbox/plugins/DRC/DRCConfig.py", line 35, in load
    cfgFile = open(self.cfgFileName,'r')
FileNotFoundError: [Errno 2] No such file or directory: '/home/dad/.cache/rhythmbox/DRC/DRC.xml'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/rhythmbox/plugins/DRC/DRC_rb3compat.py", line 740, in _activate
    self._connect_func(action, None, self._connect_args)
  File "/usr/lib/rhythmbox/plugins/DRC/DRCUi.py", line 501, in show_ui
    self.initUI()
  File "/usr/lib/rhythmbox/plugins/DRC/DRCUi.py", line 172, in initUI
    aCfg = DRCConfig()
  File "/usr/lib/rhythmbox/plugins/DRC/DRCConfig.py", line 32, in __init__
    self.load()
  File "/usr/lib/rhythmbox/plugins/DRC/DRCConfig.py", line 44, in load
    self.save()
  File "/usr/lib/rhythmbox/plugins/DRC/DRCConfig.py", line 48, in save
    Serializer.write(self.cfgFileName, self)
  File "/usr/lib/rhythmbox/plugins/DRC/XMLSerializer.py", line 58, in write
    ET.ElementTree(rootElem).write( fileName )
  File "lxml.etree.pyx", line 1949, in lxml.etree._ElementTree.write (src/lxml/lxml.etree.c:55919)
  File "serializer.pxi", line 477, in lxml.etree._tofilelike (src/lxml/lxml.etree.c:117874)
  File "serializer.pxi", line 523, in lxml.etree._create_output_buffer (src/lxml/lxml.etree.c:118373)
  File "serializer.pxi", line 512, in lxml.etree._create_output_buffer (src/lxml/lxml.etree.c:118218)
FileNotFoundError: [Errno 2] No such file or directory

can confirm that the folder /home/dad/.cache/rhythmbox/DRC does not exist. Had a quick look at the code - may test that the folder exists - if not create it

if not os.path.exists(directory):
    os.makedirs(directory)

before opening the file.

more error trapping required

I had changed from channel 1 to channel 2 and clicked measure.

This completed the measure but instead of the dialog I saw error #8

I closed the dialog and tried to reopen - no dialog shown.

I shutdown rhythmbox and restarted with rhythmbox -D DRC and captured the following when trying to open the DRC dialog:

(19:57:30) [0x8dd600] [getDeviceListFromAlsaOutput] DRC/DRCUi.py:321: found pattern : [('0', 'HDA Intel MID', '0', 'ALC272X Analog'), ('0', 'HDA Intel MID', '3', 'HDMI 0')]
(19:57:30) [0x8dd600] [getDeviceListFromAlsaOutput] DRC/DRCUi.py:321: found pattern : [('0', 'HDA Intel MID', '0', 'ALC272X Analog')]
(19:57:30) [0x8dd600] [DRCDlg.getAlsaRecordHardwareString] DRC/DRCUi.py:774: alsa input device : hw:0,0
(19:57:30) [0x8dd600] [DRCDlg.getRecordingDeviceInfo] DRC/DRCUi.py:534: executing: ['arecord', '-D', 'hw:0,0', '--dump-hw-params', '-d 1']
(19:57:30) [0x8dd600] [DRCDlg.getRecordingDeviceInfo] DRC/DRCUi.py:537: hw infos : err : b'arecord: main:722: audio open error: Device or resource busy\n' out : b''
Traceback (most recent call last):
  File "/home/foss/.local/share/rhythmbox/plugins/DRC/DRC_rb3compat.py", line 740, in _activate
    self._connect_func(action, None, self._connect_args)
  File "/home/foss/.local/share/rhythmbox/plugins/DRC/DRCUi.py", line 532, in show_ui
    self.initUI()
  File "/home/foss/.local/share/rhythmbox/plugins/DRC/DRCUi.py", line 214, in initUI
    self.updateRecDeviceInfo()
  File "/home/foss/.local/share/rhythmbox/plugins/DRC/DRCUi.py", line 300, in updateRecDeviceInfo
    recDeviceInfo = self.getRecordingDeviceInfo()
  File "/home/foss/.local/share/rhythmbox/plugins/DRC/DRCUi.py", line 276, in getRecordingDeviceInfo
    if len(numChanels[0]) > 1 and not numChanels[0][1]:
IndexError: list index out of range

I thought I capture this "bug" before I logout and login to see if I can get the measure option to work again

clicking measure produces an error at the end of its run

observed the following error:

Traceback (most recent call last):
  File "/usr/lib/rhythmbox/plugins/DRC/DRCUi.py", line 432, in on_execMeasure
    evalDlg = MeasureQADlg(self.parent, raw_sweep_file_base_name, raw_sweep_recorded_base_name, impOutputFile, self.sweep_level)
  File "/usr/lib/rhythmbox/plugins/DRC/DRCUi.py", line 132, in __init__
    measSweepData = DRCFileTool.LoadAudioFile(measSweepFile, 1)
  File "/usr/lib/rhythmbox/plugins/DRC/DRCFileTool.py", line 172, in LoadAudioFile
    filter_array = LoadRawFile(filename, numChannels)
  File "/usr/lib/rhythmbox/plugins/DRC/DRCFileTool.py", line 127, in LoadRawFile
    filterFile = open( filename, "rb" )
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/msrecsweep.pcm'

debian package here - https://launchpad.net/~fossfreedom/+archive/ubuntu/playground/+files/rhythmbox-plugin-drc_0.1.4-1_all.deb

suggested readme enhancement - tutorial?

As an aside - maybe the README should have a step by step guide showing how to setup an example digital-room-correction setup.

e.g.

step 1: select your input and output sound devices
step 2: click "measure" - it stays greyed out for me ... I suppose something is to enable the button - is it because I'm using 16bit audio?
step 3: define your calculation filter (what are we calculating?)
step 4: define your filter (not obvious what we are doing here)
step 5: click apply (so what happens now?)

I've just been randomly choosing stuff not really understanding how the various options influence the end result

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.