среда, 30 апреля 2014 г.
суббота, 23 ноября 2013 г.
вторник, 5 ноября 2013 г.
Восстановление Arch после неудачного обновления
1. Загружаемся с boot-cd или boot-flash
2. монтируем раздел с упавшим арчем
3. делаем arch-chroot
4. переходим в /var/cache/pacman/pkg (там лежат старые пакеты)
5. делаем pacman -U ./<предыдущее ядро>
2. монтируем раздел с упавшим арчем
3. делаем arch-chroot
4. переходим в /var/cache/pacman/pkg (там лежат старые пакеты)
5. делаем pacman -U ./<предыдущее ядро>
суббота, 6 апреля 2013 г.
ALSA + JACK + PULSEAUDIO + TIMIDITY
Решил подружить всё это, что бы можно было легко пользоваться любым аудио-софтом, прием одновременно...
Вот что у меня получилось
предполагается, что PulseAudio, jackd, qjackctl и timidity уже установлены.
1. ставим pulseaudio-module-jack
2. в
load-module module-jack-sink
load-module module-jack-source
3. Открываем параметры QJackCtl и на вкладке сценариев добавляем в сценарий, выполняющийся перед запуском jackd следующее
killall pulseaudio; sleep 3; gksu alsa force-reload
это надо для того, что бы полностью освободить звуковой порт. Без этого jackd может ругаться, что hw0 уже занят
gksu - графической sudo. надо что бы перезагрузить alsa(под обычном ползователем этого сделать нельзя)
В общих настройках QJackCtl должен быть интерфейс hw:0,0 и драйвер alsa
4. удаляем из /ets/init.d файл timidity
5. Добавляем в QJackCtl сценарий, выполняющийся после запуска jackd
timidity -iA -B2,8 -Os &
таким образом мы запускаем timidity в виде демона с нужной конфигурацией
6. добавляем QJackCtl в автозагрузку и перезагружаемся
p.s. для отдельного запуска VST-плагинов есть замечательный vsthost
Вот что у меня получилось
предполагается, что PulseAudio, jackd, qjackctl и timidity уже установлены.
1. ставим pulseaudio-module-jack
2. в
/etc/pulse/default.pa
после строки #load-module module-alsa-sink даписываемload-module module-jack-sink
load-module module-jack-source
3. Открываем параметры QJackCtl и на вкладке сценариев добавляем в сценарий, выполняющийся перед запуском jackd следующее
killall pulseaudio; sleep 3; gksu alsa force-reload
это надо для того, что бы полностью освободить звуковой порт. Без этого jackd может ругаться, что hw0 уже занят
gksu - графической sudo. надо что бы перезагрузить alsa(под обычном ползователем этого сделать нельзя)
В общих настройках QJackCtl должен быть интерфейс hw:0,0 и драйвер alsa
4. удаляем из /ets/init.d файл timidity
5. Добавляем в QJackCtl сценарий, выполняющийся после запуска jackd
timidity -iA -B2,8 -Os &
таким образом мы запускаем timidity в виде демона с нужной конфигурацией
6. добавляем QJackCtl в автозагрузку и перезагружаемся
p.s. для отдельного запуска VST-плагинов есть замечательный vsthost
понедельник, 11 февраля 2013 г.
Совместное использование QML и C++(QT)
полезное место:
http://qml.ucoz.com/publ/stati_po_qml/integracija_qml_i_c/5-1-0-14
1. В файле проекта для совместной работы необходимо добавить
так как QDeclarativeView является потомком QWidget, можно там же задать и другие сфойства, например размеры окна
полезно задать
4. теперь из qml мы можем вызвать слот
класс:
http://qml.ucoz.com/publ/stati_po_qml/integracija_qml_i_c/5-1-0-14
1. В файле проекта для совместной работы необходимо добавить
QT+=declarative2. Создаем класс и наследуем его от QDeclarativeView В конструкторе: при помощи метода setSource задаем корневой qml-файл
setSource(QUrl("qrc:/TextEditor.qml"));Получаем контекст из qml и устанавливаем для него свойство, которое будет видно из qml
QDeclarativeContext *context = rootContext(); context->setContextProperty("window",this);
так как QDeclarativeView является потомком QWidget, можно там же задать и другие сфойства, например размеры окна
полезно задать
setResizeMode(QDeclarativeView::SizeRootObjectToView);3. Задаем слоты, которые будут доступны из qml
public slots: void alarm() { QMessageBox::information(0,"111","222"); }
4. теперь из qml мы можем вызвать слот
onButtonClicked: { screen.imageFile = window.alarm() }
класс:
class QmlViewer : public QDeclarativeView{ Q_OBJECT public: QmlViewer(QDeclarativeView *prnt=0) :QDeclarativeView(prnt) { setSource(QUrl("qrc:/TextEditor.qml")); QDeclarativeContext *context = rootContext(); context->setContextProperty("window",this); setResizeMode(QDeclarativeView::SizeRootObjectToView); setMinimumSize(500,400); } public slots: void alarm() { QMessageBox::information(0,"111","222"); } QString getFileName() { return QFileDialog::getOpenFileName(0,QObject::tr("Открыть файд"),"","*.jpg"); } };
вторник, 18 сентября 2012 г.
Запуск приложений QT
написали что-нибудь на QT, хотим что бы это что-то запускалось на других машинах...
1. вначале надо всё собрать
идём в папку с проектом там делаем
mingw32-make clean
qmake -config release (+ всё, что надо)
mingw32-make
в папке release появляется исполняемый файл
2. Копируем его в отдельную папку. Туда же отправляем всё, что подгружуется их программы (картинки, иконки и т.д.)
3. Программой Dependency Walker смотрим какие библиотеки требует наш исполняемый файл и запихиваем их в ту же отдельную папку.
4. Если всё дело под виндой, то в зависимости от дого, чем собирали в папку надо еще засунуть соответствующую dll (у меня это было msvcr71.dll, лежало где-то в папке с MinGw. стоит поискать на предмет "msvcr*")
5. Если программа использует картинки, отличные от PNG, то в папку с исполняемым файлом надо еще поместить дирректорию imageformats из QT/plugins
http://doc.crossplatform.ru/qt/4.3.2/deployment-windows.html#application-dependencies
1. вначале надо всё собрать
идём в папку с проектом там делаем
mingw32-make clean
qmake -config release (+ всё, что надо)
mingw32-make
в папке release появляется исполняемый файл
2. Копируем его в отдельную папку. Туда же отправляем всё, что подгружуется их программы (картинки, иконки и т.д.)
3. Программой Dependency Walker смотрим какие библиотеки требует наш исполняемый файл и запихиваем их в ту же отдельную папку.
4. Если всё дело под виндой, то в зависимости от дого, чем собирали в папку надо еще засунуть соответствующую dll (у меня это было msvcr71.dll, лежало где-то в папке с MinGw. стоит поискать на предмет "msvcr*")
5. Если программа использует картинки, отличные от PNG, то в папку с исполняемым файлом надо еще поместить дирректорию imageformats из QT/plugins
http://doc.crossplatform.ru/qt/4.3.2/deployment-windows.html#application-dependencies
понедельник, 16 июля 2012 г.
Подписаться на:
Сообщения (Atom)