Changeset 2038
- Timestamp:
- 02/07/12 04:11:19 (4 months ago)
- Files:
-
- trunk/libffado/src/rme/fireface_settings_ctrls.cpp (modified) (3 diffs)
- trunk/libffado/src/rme/fireface_settings_ctrls.h (modified) (1 diff)
- trunk/libffado/src/rme/rme_avdevice.cpp (modified) (1 diff)
- trunk/libffado/src/rme/rme_avdevice.h (modified) (1 diff)
- trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py (modified) (4 diffs)
- trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/src/rme/fireface_settings_ctrls.cpp
r2037 r2038 156 156 case RME_CTRL_INFO_MODEL: 157 157 case RME_CTRL_INFO_TCO_PRESENT: 158 case RME_CTRL_INFO_SYSCLOCK_FREQ: 159 case RME_CTRL_INFO_AUTOSYNC_FREQ: 160 case RME_CTRL_INFO_AUTOSYNC_SRC: 161 case RME_CTRL_INFO_SYNC_STATUS: 162 case RME_CTRL_INFO_SPDIF_FREQ: 158 163 debugOutput(DEBUG_LEVEL_ERROR, "Attempt to set readonly info control 0x%08x\n", m_type); 159 164 err = 1; … … 173 178 signed int i; 174 179 signed int val = 0; 180 FF_state_t ff_state; 175 181 176 182 switch (m_type) { … … 225 231 case RME_CTRL_INFO_TCO_PRESENT: 226 232 return m_parent.getTcoPresent(); 233 234 case RME_CTRL_INFO_SYSCLOCK_MODE: 235 if (m_parent.get_hardware_state(&ff_state) == 0) 236 return ff_state.clock_mode; 237 break; 238 case RME_CTRL_INFO_SYSCLOCK_FREQ: 239 return m_parent.getSamplingFrequency(); 240 case RME_CTRL_INFO_AUTOSYNC_FREQ: 241 if (m_parent.get_hardware_state(&ff_state) == 0) 242 return ff_state.autosync_freq; 243 break; 244 case RME_CTRL_INFO_AUTOSYNC_SRC: 245 if (m_parent.get_hardware_state(&ff_state) == 0) 246 return ff_state.autosync_source; 247 break; 248 case RME_CTRL_INFO_SYNC_STATUS: 249 if (m_parent.get_hardware_state(&ff_state) == 0) 250 return (ff_state.adat1_sync_status) | 251 (ff_state.adat2_sync_status << 2) | 252 (ff_state.spdif_sync_status << 4) | 253 (ff_state.wclk_sync_status << 6) | 254 (ff_state.tco_sync_status << 8); 255 break; 256 case RME_CTRL_INFO_SPDIF_FREQ: 257 if (m_parent.get_hardware_state(&ff_state) == 0) 258 return ff_state.spdif_freq; 259 break; 227 260 228 261 default: trunk/libffado/src/rme/fireface_settings_ctrls.h
r2033 r2038 54 54 #define RME_CTRL_INFO_MODEL 0x0100 55 55 #define RME_CTRL_INFO_TCO_PRESENT 0x0200 56 #define RME_CTRL_INFO_SYSCLOCK_MODE 0x0300 57 #define RME_CTRL_INFO_SYSCLOCK_FREQ 0x0301 58 #define RME_CTRL_INFO_AUTOSYNC_FREQ 0x0310 59 #define RME_CTRL_INFO_AUTOSYNC_SRC 0x0311 60 #define RME_CTRL_INFO_SYNC_STATUS 0x0312 61 #define RME_CTRL_INFO_SPDIF_FREQ 0x0313 56 62 57 63 /* Control types for an RmeSettingsMatrixCtrl object */ trunk/libffado/src/rme/rme_avdevice.cpp
r2037 r2038 150 150 new RmeSettingsCtrl(*this, RME_CTRL_INFO_TCO_PRESENT, 0, 151 151 "TCO_present", "TCO is present", "")); 152 result &= m_ControlContainer->addElement( 153 new RmeSettingsCtrl(*this, RME_CTRL_INFO_SYSCLOCK_MODE, 0, 154 "sysclock_mode", "System clock mode", "")); 155 result &= m_ControlContainer->addElement( 156 new RmeSettingsCtrl(*this, RME_CTRL_INFO_SYSCLOCK_FREQ, 0, 157 "sysclock_freq", "System clock frequency", "")); 158 result &= m_ControlContainer->addElement( 159 new RmeSettingsCtrl(*this, RME_CTRL_INFO_AUTOSYNC_FREQ, 0, 160 "autosync_freq", "Autosync frequency", "")); 161 result &= m_ControlContainer->addElement( 162 new RmeSettingsCtrl(*this, RME_CTRL_INFO_AUTOSYNC_SRC, 0, 163 "autosync_src", "Autosync source", "")); 164 result &= m_ControlContainer->addElement( 165 new RmeSettingsCtrl(*this, RME_CTRL_INFO_SYNC_STATUS, 0, 166 "sync_status", "Sync status", "")); 167 result &= m_ControlContainer->addElement( 168 new RmeSettingsCtrl(*this, RME_CTRL_INFO_SPDIF_FREQ, 0, 169 "spdif_freq", "SPDIF frequency", "")); 152 170 153 171 result &= m_ControlContainer->addElement( trunk/libffado/src/rme/rme_avdevice.h
r2037 r2038 190 190 signed int get_hardware_status(unsigned int *stat0, unsigned int *stat1); 191 191 signed int get_hardware_streaming_status(unsigned int *stat, unsigned int n); 192 public: 192 193 signed int get_hardware_state(FF_state_t *state); 194 private: 193 195 signed int set_hardware_params(FF_software_settings_t *use_settings = NULL); 194 196 trunk/libffado/support/mixer-qt4/ffado/mixer/rme.py
r2037 r2038 23 23 from PyQt4 import QtGui 24 24 25 from PyQt4.QtCore import SIGNAL, SLOT, QObject, Qt 25 from PyQt4.QtCore import SIGNAL, SLOT, QObject, Qt, QTimer 26 26 from PyQt4.QtGui import QWidget, QApplication 27 27 from ffado.config import * … … 127 127 log.debug("gain %s[%d] set to %d" % (self.Gains[sender][0], self.Gains[sender][1], a0)) 128 128 self.hw.setMatrixMixerValue(self.Gains[sender][0], 0, self.Gains[sender][1], a0) 129 130 def status_update(self): 131 # log.debug("timer event") 132 clk_mode = ['Master', 'Slave'] 133 src_str = ['None', 'ADAT 1', 'ADAT 2', 'SPDIF', 'Wordclock', 'TCO'] 134 sync_stat = ['No lock', 'Locked', 'Synced'] 135 sysclock_mode = self.hw.getDiscrete('/Control/sysclock_mode') 136 sysclock_freq = self.hw.getDiscrete('/Control/sysclock_freq') 137 autosync_freq = self.hw.getDiscrete('/Control/autosync_freq') 138 autosync_src = self.hw.getDiscrete('/Control/autosync_src') 139 sync_status = self.hw.getDiscrete('/Control/sync_status') 140 spdif_freq = self.hw.getDiscrete('/Control/spdif_freq') 141 self.sysclock_freq.setText("%d Hz" % (sysclock_freq)) 142 self.sysclock_mode.setText(clk_mode[sysclock_mode]) 143 self.autosync_freq.setText("%d Hz" % (autosync_freq)) 144 self.autosync_src.setText(src_str[autosync_src]) 145 self.sync_check_adat1_status.setText(sync_stat[sync_status & 0x03]) 146 self.sync_check_adat2_status.setText(sync_stat[(sync_status >> 2) & 0x03]) 147 self.sync_check_spdif_status.setText(sync_stat[(sync_status >> 4) & 0x03]) 148 self.sync_check_wclk_status.setText(sync_stat[(sync_status >> 6) & 0x03]) 149 self.sync_check_tco_status.setText(sync_stat[(sync_status >> 8) & 0x03]) 150 self.spdif_freq.setText("%d Hz" % (spdif_freq)) 129 151 130 152 # Hide and disable a control … … 193 215 self.sync_check_adat2_label.setEnabled(False) 194 216 self.sync_check_adat2_status.setEnabled(False) 217 218 if (not(self.tco_present)): 219 self.sync_check_tco_label.setEnabled(False) 220 self.sync_check_tco_status.setEnabled(False) 195 221 196 222 # Only the FF400 has specific channel 3/4 options, input gain … … 250 276 QObject.connect(ctrl, SIGNAL('valueChanged(int)'), self.updateGain) 251 277 278 self.update_timer = QTimer(self) 279 QObject.connect(self.update_timer, SIGNAL('timeout()'), self.status_update) 280 self.update_timer.start(1000) 281 252 282 # vim: et trunk/libffado/support/mixer-qt4/ffado/mixer/rme.ui
r2037 r2038 763 763 </item> 764 764 <item row="0" column="1"> 765 <widget class="QLabel" name=" label_6">765 <widget class="QLabel" name="sync_check_wclk_status"> 766 766 <property name="text"> 767 767 <string>No lock</string> … … 777 777 </item> 778 778 <item row="1" column="1"> 779 <widget class="QLabel" name=" label_8">779 <widget class="QLabel" name="sync_check_adat1_status"> 780 780 <property name="text"> 781 781 <string>No lock</string> … … 805 805 </item> 806 806 <item row="3" column="1"> 807 <widget class="QLabel" name=" label_12">807 <widget class="QLabel" name="sync_check_spdif_status"> 808 808 <property name="text"> 809 809 <string>No lock</string> … … 812 812 </item> 813 813 <item row="4" column="0"> 814 <widget class="QLabel" name="sync_check_tco_label"> 815 <property name="text"> 816 <string>TCO</string> 817 </property> 818 </widget> 819 </item> 820 <item row="4" column="1"> 821 <widget class="QLabel" name="sync_check_tco_status"> 822 <property name="text"> 823 <string>No lock</string> 824 </property> 825 </widget> 826 </item> 827 <item row="5" column="0"> 814 828 <spacer name="verticalSpacer_16"> 815 829 <property name="orientation"> … … 841 855 </item> 842 856 <item row="0" column="1"> 843 <widget class="QLabel" name=" label_2">857 <widget class="QLabel" name="autosync_src"> 844 858 <property name="text"> 845 859 <string>[unset]</string> … … 855 869 </item> 856 870 <item row="1" column="1"> 857 <widget class="QLabel" name=" label_4">871 <widget class="QLabel" name="autosync_freq"> 858 872 <property name="text"> 859 873 <string>[unset]</string> … … 908 922 <layout class="QVBoxLayout" name="verticalLayout_7"> 909 923 <item> 910 <widget class="QLabel" name=" label_13">924 <widget class="QLabel" name="spdif_freq"> 911 925 <property name="text"> 912 926 <string>48 kHz</string> … … 991 1005 </item> 992 1006 <item row="0" column="1"> 993 <widget class="QLabel" name=" label_15">1007 <widget class="QLabel" name="sysclock_mode"> 994 1008 <property name="text"> 995 1009 <string>Slave</string> … … 1005 1019 </item> 1006 1020 <item row="1" column="1"> 1007 <widget class="QLabel" name=" label_17">1021 <widget class="QLabel" name="sysclock_freq"> 1008 1022 <property name="text"> 1009 1023 <string>44100 kHz</string>
