LINUX.ORG.RU

Сообщения morpheus

 

Gstreamer cache

 , , ,

Итак, меня интересует буферизация в pygst. Приложение играет поток из сети, в нем есть возможность поиска по песне (seek). Этот seek получается слишком дерганным, не ровным. Seek производится по изменению слайдера в окне:


def UpdatePos(self):
		val = self.seekslider.GetValue()
		if self.player.get_state()[1] == gst.STATE_PLAYING or self.player.get_state()[1] == gst.STATE_PAUSED:
			try:
				self.player.seek_simple(gst.FORMAT_TIME,gst.SEEK_FLAG_FLUSH | gst.SEEK_FLAG_KEY_UNIT, val * gst.SECOND)
				self.seekslider.SetValue(val)
				pos_i = self.player.query_position(self.time_format,None)[0]
	 			dur_i =  self.player.query_duration(self.time_format,None)[0]	 		
				self.SetTimingText(pos_i,self.tpos)
				self.SetTimingText(dur_i-pos_i+1,self.tdur)
			except gst.QueryError:
				pass
Мне кажется, что это связано с размером буфера. Как его можно увеличить, если gstreamer инициализируется так:
 
	###PyGST (Gstreamer) init###
		self.player = gst.element_factory_make("playbin", "player")
		fakesink = gst.element_factory_make("fakesink", "fakesink")
		self.player.set_property("video-sink", fakesink)
   		bus = self.player.get_bus()
   		bus.add_signal_watch()
   		bus.connect("message", self.on_message)
		self.time_format = gst.Format(gst.FORMAT_TIME)

morpheus
()

#*@*!ый русский язык

 , ,

В моем приложении необходимо использовать русский язык (у строк), но когда строка русская, то происходит следующая проблема (при попытке перевести ее в юникод:

Traceback (most recent call last):
  File "/home/ka2m/Python/svk-gui-beta/player.py", line 459, in Select
    self.SetMusicText()
  File "/home/ka2m/Python/svk-gui-beta/player.py", line 292, in SetMusicText
    atext = self.Shorter(atext)
  File "/home/ka2m/Python/svk-gui-beta/player.py", line 479, in Shorter
    utext = unicode(text)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 8: ordinal not in range(128)
self.SetMusicText():
def SetMusicText(self):
			atext = "Artist: " +self.playlist[self.pos+1][1]
			ttext = "Title: "+self.playlist[self.pos+1][2]
			self.Shorter(atext)
			self.Shorter(ttext)
			self.artistname.SetLabel(atext)
			self.titlename.SetLabel(ttext)
playlist - это обычный текстовый файл вида:
 http://cs4537.vkontakte.ru/u44930545/audio/e6eeaa5bf0e4.mp3n:Pink Floydn:Comfortably Numbn:Pink Floyd - Comfortably Numb
Сбоящая функция:
	def Shorter(self,text): #function to check if length is exceeded and change it to abcdef...
	 	text = text.encode('UTF-8')
		
		if len(text) >= 24:
	 	 	p = text[0:22]
	 	 	p = p + u" ..."
	 	 	return p
	 	else: return text 
Прошу помочь. С чистой латинецей работает нормально, а вот с русским и всякими там трифорсами - нет. Как понятно из кода: Python+wxPython

morpheus
()

Управление уровнем звука

 , ,

Пишу свой VK-API-плеер на Python. Уже практически закончил, но осталось разобраться с управлением звука.

Как его прибавлять, я понял

self.player.set_property("volume",+3.0)

А как убавить? При вводе отрицательных значений - out of range. Вменяемой документации не нашел. Используется gstreamer, py-gst

morpheus
()

Запуск функции параллеьно основонму процессу

 , ,

Дело обстоит в питоне. Нужно запустить nonmodal script по сути. Запускается по нажатию кнопки. Графическая библиотека wxPython. Как это можно сделать? Так чтобы нажать на кнопку, но не перехватывать основное окно

morpheus
()

Разыскивается библиотека

 , , ,

Требуется библиотека для проигрывания в голос музыки в некошерном mp3 с потока (с ВК). Требования:

  • Полная встраиваемость в Python
  • Управление: старт/стоп, пауза, изменение звука
  • Управление как по клавишам, так и по тыканию мышки (основное приложение на wxPython). Нужно так, чтобы могла отправляться команда вроде player.stop() и т.п. Вроде бы все. UPD:
  • Должно висеть в фоне, не перехватывать управление и не блокировать основное окно, как это делает mpg123.

    Нашел что-то годное, как mp3play, но оно под винду.

morpheus
()

Embedding Python in C++

 , , ,

Решил заняться сабжем, изучил включение по сайту. Использую их пример:

 #include <Python.h>

int main(int argc, char *argv[])
{
	  
    PyObject *pName, *pModule, *pDict, *pFunc, *pValue;

    if (argc < 3) 
    {
        printf("Usage: name python_source function_name\n");
        return 1;
    }

    // Initialize the Python Interpreter
    Py_Initialize();
  
    // Build the name object
    pName = PyString_FromString(argv[1]);
  
    // Load the module object
    pModule = PyImport_Import(pName);
  
    // pDict is a borrowed reference 
    pDict = PyModule_GetDict(pModule);
  
    // pFunc is also a borrowed reference 
    pFunc = PyDict_GetItemString(pDict, argv[2]);
  
    if (PyCallable_Check(pFunc)) 
    {
        PyObject_CallObject(pFunc, NULL);
    } else 
    {
        PyErr_Print();
    }

    // Clean up
    Py_DECREF(pModule);
    Py_DECREF(pName);

    // Finish the Python Interpreter
    Py_Finalize();

    return 0;
}

Компилирую командой:

 g++ testing.cpp -I/usr/include/python2.7 -lpython2.7 -otr

Получаю сегфолт. ddd на эту тему говорит:

 Program received signal SIGSEGV, Segmentation fault.
0xb7de901a in PyModule_GetDict () from /usr/lib/libpython2.7.so.1.0
(gdb) 
Ubuntu 12.04. Помогите с проблемой.

morpheus
()

В ubuntu 12.04 не показывается меню GRUB

 , , ,

Собсвтенно сабж. Никогда раньше не сталкивался: включаю компьютер, черный экран, а потом сразу gdm.

Хотел прикрутить systemd вместо init, вроде все прописал, а менюшки нет.

morpheus
()

Пульт для VLC

 , , ,

На какой платформе можно сделать такой пульт, который сможет оставнавливать, воспроизводить, переходить между видео в листе, а самое главное - управлять звуком для $SUBJ?

Как этот девайс сможет взаимодействовать с компьютером? Можно ли это сделать на основе ИК-порта?

Среди вариантов - Arduino, но может есть что-то еще?

morpheus
()

Проблемы с nvidia quadro 400

 , ,

У меня два монитора. Asus T1 и какой-то HP. Оба поддерживают 1920x1080. На машине стоит 12.04 с проприетарными дровами. Один монитор подключается по Display port, а другой по VGA.

При помощи стандартной утилиты Gnome 3 виден толко один монитор, и тот определяется как laptop. Через nvidia-settings оба. Но в какой бы режим я не ставил их, оба роняют гном до fallback.

Что можно с этим сделать? Или это видеокарта не тянет оба на FullHD?

morpheus
()

Перенос системы с одной машины на другую

 , ,

Доброе утро. Возник такой вопрос, можно ли перенести уже установленную 12.04 с одной машины на другую так, чтобы она нормально запустилась. Перенос == перетыкание винтов.
Разницы между процессорами практически нет: Intel Pentium DualCore - на одном, и Core i5 на другом. Оба же x86_64?
По памяти: 2гб на одном и 4 на другом. Тут вопрос: если перенос возможен, то, чтобы можно было увидеть все 4 ГБ, то нужно пересобрать ядро с PAE?
Видео: встроенные видеокарты, но на втором есть NVIDIA Quadro 400. Как сейчас дела с картами этой фирмы в бубунте?
Сеть аналогичная, Ralink 3070 в виде D-link DWA-525 + ethernet.

Стоит ядро 3.2 (вроде бы, пишу с телефона) от убунты.

morpheus
()

Читалка из eee-pc

 , , ,

Решил я тут приспособить свой старый 701-й под читалку. Планирую сделать среду читалки: файловый менеджер, открывающий определенные форматы, доступ к вебу и настройкам wi-fi. Планирую писать на питоне.

С этим связаны вопросы: 1) Python-библиотеки для работы с pdf, fb2, epub. Какие есть еще распространенные форматы электронных книг?
2) На чем лучше писать простой файловый менеджер (граф. библиотека): wxWidgets, PyGTK или Qt-реализация?
3) Можно ли всю эту штуку завернуть демоном с автологином, чтобы выглядело как реальная читалка: включил и работает?

morpheus
()

Восстановление файла

Добрый вечер. Не думал, что буду задавать такой вопрос на ЛОРе, но все же. Был питоновский файл с моим проектом. Я неудачно его заархиваровал, перепутав параметры, теперь вместо файла - абракадабра на эльфийском.

Так как тестировал на другом компе, то там тоже самое.

Имеем: 1) На одном Ubuntu 12.04 и ext4 раздел
2) На другом Debian 6 с ext4 в RAID0 массиве.

Как восстановить прошлую версию?

morpheus
()

Nokia C6. Перетерся шлейф

 , , ,

Собственно сабж. Есть все признаки этой проблемы: плохо работал динамик, камера, а в конце рухнул дисплей. У меня вопрос: как там все это сосуществует? Собственно клавиатурная часть и дисплей. Как они соединены? Понятно, что посредством шлейфа, но паяется ли он, или же можно руками скрепить?

morpheus
()

Внешний доступ к компьютеру (дом.ру)

 

Работает ли сабж? Сейчас кинули айпишник, а он не пингуется (packet loss: 100%). Они закрывают доступ на внешку или только ping-запросы? Планируется поднять небольшой VPS сервер для мобильной и удобной разработки на питоне

morpheus
()

Как сделать приложение, которое устанавливается по трем волшебным словам?

 , , ,

Собственно:

user@host:~$ cd /usr/src/myapp
user@host:/usr/src/myapp$/.configure&&make&&make install
Как это делается? Я написал приложени (питоновское, вернее даже скрипт), теперь хочу сделать его устанавливаемым. И чтобы был доступен стандартно в $PATH, то есть:
user@host:~$ myapp 
Hello World! 

Реквестирую инструкцию, в гугле то ли плохо искал, то ли не там.

morpheus
()

Как успешно собрать трактор?

 

Собственно сабж.

Как успешно собрать трактор в какую-нибудь более-менее закрытую страну как Ирландия? Что для этого нужно, кроме дикой воли и мозгов? Есть ли на ЛОРе такие успешные люди, а также есть ли мануалы по эмиграции?

Студент 1 курс. Учусь на компьютерной безопасности.

morpheus
()

Альтернатива WinAIK

 ,

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

Или все это делается обычным sh-скриптом?

#!/bin/sh
apt-get update && apt-get upgrade && apt-get install --force-yes ....

morpheus
()

Zyxel Keentic 4G vs Keentic GIGA

 , , ,

Зашел сегодня в магазин, поискать чего хорошего посоветовали в моем прошлом треде про роутеры. Есть два описанных экземпляра, один ценою 2000 рублей, второй 3600. Сумма хоть и незначительная, но переплачивать не хочется.

Что лучше выбрать. Клиентов 5-6 обычно: компьютер, ноут, планшет, телефон, виртуалка. В основном все работает по беспроводному соединению. Есть ли резон покупать GIGA, или же хватит 4G (серверов, FTP у меня нет, максимум - тестовый сайтик под LAMP).

P.S. Еще вопрос: у меня уже стоит D-Link DIR-300. Можно ли его сделать репитером сигнала, усилителем или просто замутить мост с зухелем?

morpheus
()

Ошибка парсинга lxml

 , , ,

Пишу нормальную вариацию этого скрипта.

Начал писать (а не копировать) и получил следующую ошибку при парсинге списка с vkAPI:

Traceback (most recent call last):
  File "./vkscrob.py", line 58, in <module>
    doc	 = html.document_fromstring(html)	
  File "/usr/lib/python2.6/dist-packages/lxml/html/__init__.py", line 511, in document_fromstring
    value = etree.fromstring(html, parser, **kw)
  File "lxml.etree.pyx", line 2532, in lxml.etree.fromstring (src/lxml/lxml.etree.c:48634)
  File "parser.pxi", line 1542, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:72207)
МalueError: can only parse strings
Причем, по адресу действительно строки, а не нечто иное. Сам код: http://pastebin.com/pjbaDqZj

morpheus
()

Очередной посоветуй-тред

 , ,

Итак, требуется роутер в пределах 3000 рублей. Нужно:

  • возможность подключения 3g-модема
  • 1GBit WLAN (опционально, хотя бы 100 мбит держал)
  • Нормально работающий DHCP на нем
  • Прошивка с возможностями нормальной настройки сигнала, DNS, DHCP, DMZ, Firewall, проброса и прочего.

    А линукс тут при том, что в новой квартире займусь напейсанием приложений на Python под линуксы.

morpheus
()

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