LINUX.ORG.RU

Сообщения DiGital

 

[PR] Поддержи разработку, пройди опрос!

Форум — Talks

Уважаемые LOR'овцы! Пару раз в галерее проскакивали скриншоты разработки программы MuDo, которая ищет/качает/проигрывает музыку с вконтакте. На данный момент программа вполне работоспособна, но тем не менее проба пера мне не очень понравилась, поэтому было решено переписать все начисто, обходя грабли стороной.

Каркас уже почти готов, но было бы интересно узнать, что интересует пользователей, и учитывая их мнения делать упор на ту или иную функцию.

Посему я создал небольшой опрос, который и предлагаю пройти всем, кто неравнодушен к программе.

Опрос находится здесь: http://mudo2.questionpro.com/.

Предварительную версию программы можно найти в mercurial-репозитории:

hg clone http://bitbucket.org/denis_g/mudo2

Заранее спасибо!

P.S. Кстати говоря, конкурс на новое имя программы никто не отменял :)

DiGital ()

Opera or Chromium: that is the question

Галерея — Скриншоты

Чтобы сэкономить место на экране, а также для того, чтобы избавиться от вистоподобного стиля оперы, решил немного поковырять сей продукт и... получился почти что хром, причем со своими кнопками свернуть/развернуть/закрыть.

Кнопки сделал вот тут: http://nontroppo.org/tools/buttonmaker/, а декорации убрал в ~/.config/openbox/rc.xml.

Заголовка, за который перетаскивать можно, правда, нет, но он мне и не очень нужен, т.к. в основном перетаскиваю по Alt+LMB.

Рабочее окружение особо описывать не нужно, оно на ЛОРе уже очень хорошо знакомо: Archlinux + openbox + bmpanel2.

>>> Просмотр (1280x1024, 78 Kb)

DiGital ()

Python'им потихоньку...

Галерея — Скриншоты

Наступили выходные... Теперь можно и покодить немного. На скрине допиливание плагина-качалки к программе MuDo, новая версия которой доступна на гуглокоде: http://mudo.googlecode.com. Для тех, кто не любит ходить по ссылкам, скажу, что программа написана для поиска/прослушивания/получения прямых ссылок/загрузки музыки из огромной аудиобазы — ВКонтакте.ру.

Со времени последнего скриншота сменил панельку и браузер: были tint2+trayer и firefox3.1b3, стало — xfce4-panel и opera 10.

Как всегда, с нетерпением жду отзывов и багрепортов. :)

>>> Просмотр (1280x1024, 282 Kb)

DiGital ()

MuDo и Debian Lenny

Галерея — Скриншоты

На скрине изображена самописная программа MuDo (Music Downloader), позволяющая скачивать аудиозаписи с сайта ВКонтакте. Давно видел подобные программы под вражую ось, а под GNU/Linux такого не было, вот и решил написать свою. Программа написана на python+PyQt (прошу за это сильно не бить) и распространяется под лицензией GNU GPL. Подробности можно найти на сайте проекта: http://mudo.googlecode.com/.

Теперь о рабочем окружении: WM — openbox, панель — tint2, справа внизу находится прозрачный trayer, conky, думаю, узнали все.

Буду раз справедливой критике, предложениям, впечатлениям и багрепортам.

>>> Просмотр (1280x1024, 295 Kb)

DiGital ()

Xlib: extension «Generic Event Extension» missing on display ":0.0".

Форум — General

Здравствуйте, уважаемые ЛОРовцы!

Уже довольно продолжительное время пользуюсь Арчлинуксом, но после очередного обновления libx11 при запуске любой графической программы в терминале появляются следующие варнинги:

Xlib: extension "Generic Event Extension" missing on display ":0.0".

Погуглив я нашел причину этого: XOrg не поддерживает это самое Generic Event Extension (иначе — XGE), а libx11 требует от сервера это расширение. Раньше выходом был откат libx11 и нескольких зависящих от него пакетов на более ранние версии после обновления, но недавно новые версии некоторых других программ (в частности GTK) стали требовать новейшую версию libx11, и, согласитесь, не слишком удобно все время делать откат на предыдущие версии всех этих программ на roll-up системе, такой как Arch. В качестве решения проблемы на некоторых форумах предлагают скомпилировать и установить новейшую версию xorg, поддерживающую xge. Ни в репозитории, ни в aur ее еще нет, а захламлять систему смешанным ПО (часть скомпилированная, часть — из репов) не хочется.

Подскажите, пожалуйста, если ли какое-нибудь менее радикальное решение проблемы. Заранее спасибо.

P.S. С арча слазить не хочется, так что смену дистра просьба не предлагать.

DiGital ()

Звук от разных программ вывести на разные каналы

Форум — General

Здравствуйте, товарищи! Недавно заимел себе звуковую карточку SB Live. Она имеет два аналоговых выхода — обычный и surround. Хотелось бы как-нибудь вывести звук одной программы на обычный выход, а другой — на surround. Подскажите, пожалуйста, как это организовать.

P.S. Использую OSS, но от рецептов для ALSA'ы не откажусь. Ось — Archlinux с последним (для нее) ядром (2.6.28).

DiGital ()

Python, htmlparser, апостроф

Форум — Development

Доброго всем времени суток! При написании прграммы на питоне возникла такая проблемка: после разбора web-странички питоновским HTMLParser'ом в строчках нету ни апострофов, ни двойных кавычек.

Разбор делается следующим образом:

1. закачивается страничка в кодировке cp1251
2. скармливается парсеру
3. в парсере находим нужные теги и ставим соответствующие флаги
4. в функции handle_data вытаскиваются значения, которые находятся между открывающим и закрывающим тегами

Вот эта функция:

data уже без апострофов и кавычек

def handle_data(self, data):
if self.in_performer:
self.performer += unicode(data, 'cp1251')

if self.in_title:
self.title += unicode(data, 'cp1251')

if self.in_duration:
self.duration = unicode(data, 'cp1251')

if self.error_occured:
self.error_description += unicode(data, 'cp1251')

Подскажите, пожалуйста, чем можно исправить сию ситуацию.

P.S. Если для установления диагноза понадобятся другие части программы или примеры html-страничек, которые не парсятся — пишите, выложу куда-нибудь.

P.P.S. Стоит упомянуть, что в страничке используются апострофы в "обычном" виде, т.е. не закодированные, например, вот так: "Majesty's".

P.P.P.S. Собственно, сам сайт — http://vkontakte.ru/. Очень там аудиоархив хорош, пишу кроссплатформенную качалку для него. :-)

DiGital ()

Почти дефолтный openbox

Галерея — Скриншоты

Под влиянием многочисленных скриншотов с openbox'ом захотелось снова поставить его себе (что поделать, законы природы). Поэтому наряду с ion3 на моем компьютере теперь стоит еще и openbox. Сам бокс довольно дефолтненький, ибо именно дефолтная тема мне больше всего по душе. Выбор панельки пал на bmpanel как на легковесную, симпатичную и имеющую в себе все необходимые компоненты панель. На рабочем столе - коньки, в трее - xxkb, в центре экрана - QtCreator с маленьким органайзером, над которым я работаю, и vimperator со справкой Qt (ее удобней смотреть параллельно с работой через браузер, нежели лазить в Help QtCreator'а).

>>> Просмотр (1280x1024, 185 Kb)

DiGital ()

[Archlinux] Висят иксы

Форум — General

Всем доброго времени суток! Столкнулся я с проблемой Иксов. Вчера обновил систему х главного зеркала, выключился. Сегодня загружаюсь, startx и все, Xorg висит. Т.е. на совсем висит, индикатор процессора и сети в Ion'е работают, значение меняется, а вот ни на клава, ни на мышь он не реагирует. Работают только Alt+SysRq+*. В частности Alt+SysRq+E вернул меня в консоль, и там я стал исследовать логи (dmesg/Xorg.0.log), но ничего интересного я там не нашел за исключением того, что в Xorg.0.log нет ни слова ни о клаве, ни о мыши (ни о каком другом input device). Смена видеодрайвера (да он тут, вроде бы, и ни при чем) не помогла. В консоли клава и мышь (gpm) работают, в стареньком Дебиане (откуда сейчас пишу) - тоже. Если кто-нибудь с чем-нибудь подобным сталкивался, подскажите, пожалуйста, куда копать.

P.S. Во время обновления обновились ядро, xproto и еще что-то из xorg'а, что точно - не помню.

P.P.S. Ядро откатывать пока не пробовал, времени сейчас мало, если надо будет - попробую.

DiGital ()

Баг в Qt? Или у меня в голове?

Форум — Development

Здравствуйте, уважаемые знатоки. Столкнулся я со следующей проблеммой:
в программе на qt по нажатию кнопки выполняется следующая функция (слот):

void testing::calc()
{
    QMessageBox msgbox;
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
        {
                msgbox.setText(ui.tableWidget->item(j,i)->text());
                msgbox.exec();
        }
}

где matrix - это TableWidget, а ui подготовлен QtCreator (потестить решил).
Если в ячейках таблицы есть какие-нибудь значения - все нормально,
выводит все сообщения, но если хотя бы одна ячейка пустая -
программа падает, а debug переходит на строчки

     inline QString text() const
        { return data(Qt::DisplayRole).toString(); }

файла qtablewidget.h.

Подскажите, пожалуйста, это я что-нибудь упустил, или стоит писать багрепорт?
DiGital ()

Web-камера из мобильника

Форум — General

Подскажите, пожалуйста, можно ли присобачить камеру от мобильника в качестве web-камеры в Linux'е. Для венды когда-то качал какие-то программы, но они не работали.

Использую Archlinux+BlueZ+BenQ-Siemens C81 (не смартфон).

Заранее спасибо!

DiGital ()

СХОЖУ УМА (или деление в С)

Форум — Development

Здравствуйте, уважаемые лоровцы! Приключилась такая проблемка: наваял простенькую программку (для тестов),
вроде бы, все правильно, но она, зараза, не работает.
Отладка (gdb) выдает следующее:

переменная z сначала содержит случайное значение,
но после строчки z=1/x она ОБНУЛЯЕТСЯ!
В чем проблема, до сих пор понять не могу...
Может, где-нибудь моя ошибка, или забыл чего?..
Помогите, плиз, разобраться. Заранее спасибо.

$gcc --version
gcc (GCC) 4.3.2

$gcc -g main.c
$./a.out
5 - 0.000000
2 - 0.000000

$cat main.c
#include <stdio.h>

void div(int x)
{
	double z;
	if (x == 0) { return; }
	z = 1 / x;
	printf("%d - %f\n", x, z);
}

int main(int argc, char **argv)
{
	div(5);
	div(0);
	div(2);
	return 0;
}

>>>

DiGital ()

[pyGTK] Избежать блокировки интерфейса.

Форум — Development

Здравствуйте, уважаемые знатоки! В процессе освоения pyGTK и написания программы на нем возникла следующая проблема:

Есть кнопка, к нажатию на которую привязана функция: button.connect("clicked", my_funct).

Эта функция вызывает другую (скачивание и парсинг html-файла), которая работает некоторое время. На это время и зависает весь интерфейс программы (что, в принципе, логично - он ждет завершения функции my_funct), но это мне совсем не нравится (впрочем, мне, если честно, - все равно, я знаю, что моя программа работает, а вот пользователям, особенно "по ту сторону кроссплатформенности", это вряд ли понравится). Можно ли это "зависание" как-нибудь обойти, не прибегая к многопоточности? Если нет, то где можно найти "красивый" прием применения многопоточности в подобном случае?

Заранее спасибо!

>>>

DiGital ()

И опять шрифты

Форум — General

Для начала, скриншот: http://keep4u.ru/full/080706/2cbe696570ee1c3e77/jpg (извиняюсь за качество, keep4u изуродовал, а на другие не загружалось)

Теперь расскажу, что и как делал. Стоит у меня archlinux. Были в нем довольно отвратительные шрифты. Предприняв несколько попыток их улучшить, я остановился на пакетах freetype2-cleartype, libxft-cleartype, cairo-cleartype из AUR, ибо всё остальное ровно ничего не давало. Но появилась довольно досадная проблема: qt и gtk1.2 замечательно работают с пропатченными библиотеками, а вот gtk2 как показывал дрянь, так и показывает. Настройки gnome/kde не помогают, fonts.conf - тоже. Переустановка gtk2 и pango опять таки ничего не изменила. Подскажите пожалуйста, что может заставить gtk2 использовать "новые шрифты". Заранее спасибо.

P.S. Шрифты - DejaVu, c Tahoma'ой то же самое.

P.P.S. Также привожу аргументы конфигуратора firefox (about:buildconfig):

Configure arguments --enable-application=xulrunner --prefix=/usr --libdir=/usr/lib --with-system-nspr --with-system-nss --with-system-jpeg --with-system-zlib --with-system-bz2 --with-system-png --enable-system-lcms --enable-system-hunspell --enable-system-sqlite --enable-system-cairo --with-pthreads --enable-strip --disable-tests --disable-mochitest --disable-installer --disable-debug --enable-optimize --enable-default-toolkit=cairo-gtk2 --enable-pango --enable-svg --enable-canvas --disable-javaxpcom --disable-crashreporter --enable-safe-browsing

>>>

DiGital ()

Отставание каналов в MPD

Форум — General

Здравствуйте! Проблема моя заключается в следующем:

Есть mpd, есть mpc, который вызывается по нажатию кнопки на самопальном устройстве, но иногда, когда в mpd переключаешься на следующую/предыдущую запись, левый наушник отстает от правого (или наоборот). Происходит это на совершенно разных аудиозаписях (все мрз), иногда идущих подряд, иногда проигрываемых через 100-200 записей. Помогает пауза, переключение вперед-назад, стоп. Глюк этот и в Debian'е, и в Archlinux'e (ядра 2.6.18, 2.6.22, 2.6.24, 2.6.25, на самосборных и "готовых"). Вывод alsa, но если поставить oss, проблема не исчезает. Звуковуха - Yamaha Corporation YMF-724F [DS-1 Audio Controller], драйвер - 'snd_ymfpci'.

Если кто-нибудь знает, подскажите, пожауйста, как решить эту проблему.

>>>

DiGital ()

C: fork, exec*, system и прочие...

Форум — Development

Пишу программу на C. Нужна функция, которая запускает внешнюю программу. Но или память всей программы + дескрипторы открытых файлов копируются посредством fork+execlp, или после выполнения vfork+execlp в системе остаются запущенные программы, которые в ps отображаются со словом <defunct>.

Поэтому прошу помощи в запуске внешних приложений или какое-нибудь руководство по exec* + (v)fork, отличное от MAN'ов.

>>>

DiGital ()

Конфигурирование qt

Форум — General

Подскажите, пожалуйста:

1) Чем кроме qtconfig можно сконфигурировать qt (и темы оформления в частности)?

2) Где находятся сами конфигурационные файлы qt и с чем их едят?

3) Можно ли как-нибудь сконфигурировать qt чего-нибудь, типа opera-static? Если да, то как?

>>>

DiGital ()

Шрифты

Галерея — Скриншоты

Поставил пропатченные библиотеки, включил хинтинг на полную и получил новые шрифты.

Пакет шрифтов - DejaVu.

Хороши ли мои шрифты? Если нет, какие приемы для их улучшения вы бы посоветовали?

>>> Просмотр (1280x1024, 174 Kb)

DiGital ()

Отследить PCM-канал микшера

Форум — General

Ситуация следующая. У меня стоит внешняя звуковая карта, контролируемая драйвером snd_ymfpci. Все замечательно, но при задании уровня канала PCM в микшере более 0dB карта начинает шипеть. Поэтому, чтобы не было такого эффекта, я во всех программах, которые связаны со звуком, использую канал Master. Но какая-то бяка все равно добирается до PCM и делает с ним все, что хочет.

Отсюда два вопроса:

1) Можно ли отследить, какая бяка меняет громкость PCM? Если да, то как это сделать?

2) Можно ли наложить ограничение на PCM, например, максимум до 0dB? Если нет, то можно ли как-нибудь совсем заблокировать этот канал?

>>>

DiGital ()

ДубльГИС для Linux

Форум — General

ДубльГИС начиная с версии 3.0 разжирел и вместе с wine активно тормозит работу компьютера. Посему, подскажите, пожалуйста, есть ли аналог программы ДубльГИС для Linux? Принимаются все варианты =)

>>>

DiGital ()

RSS подписка на новые темы