Code Monkey home page Code Monkey logo

krudio's People

Contributors

alexyalinc avatar varlesh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

krudio's Issues

Update README

  • Add screen (preview)
  • Add install instructions with compiling
  • PKGBUILD

openSUSE: edit button causes segfault

opensuse-krudio-segfault
openSUSE 13.2 x64, Qt 5.7.0
PS Russian is fine too.

(gdb) bt full
#0 Krudio::on_editStation_released (this=0x7fffffffdc00) at krudio.cpp:678

No locals.
#1 0x0000000000415295 in Krudio::qt_static_metacall (_o=0x668c00, _o@entry=0x7fffffffdc00, _c=4294954144,

_c@entry=QMetaObject::InvokeMetaMethod, _id=-1, _id@entry=24, _a=0x7fffffffcc80, _a@entry=0x7fffffffce20)
at moc_krudio.cpp:202

No locals.
#2 0x0000000000415603 in Krudio::qt_metacall (this=0x7fffffffdc00, _c=QMetaObject::InvokeMetaMethod, _id=24,

_a=0x7fffffffce20) at moc_krudio.cpp:236

No locals.
#3 0x00007ffff64bfd9c in QMetaObject::activate(QObject_, int, int, void_*) () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
#4 0x00007ffff74c410d in ?? () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#5 0x00007ffff74c5483 in ?? () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#6 0x00007ffff74c5614 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#7 0x00007ffff742846a in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#8 0x00007ffff73e4b6c in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#9 0x00007ffff73ec4cb in QApplication::notify(QObject_, QEvent_) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#10 0x00007ffff6497795 in QCoreApplication::notifyInternal2(QObject_, QEvent_) () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
#11 0x00007ffff73eaf53 in QApplicationPrivate::sendMouseEvent(QWidget_, QMouseEvent_, QWidget_, QWidget_, QWidget**, QPointer&, bool) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#12 0x00007ffff7441369 in ?? () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#13 0x00007ffff74437a3 in ?? () from /usr/lib64/libQt5Widgets.so.5

---Type to continue, or q to quit---
No symbol table info available.
#14 0x00007ffff73e4b6c in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#15 0x00007ffff73ebaf0 in QApplication::notify(QObject_, QEvent_) () from /usr/lib64/libQt5Widgets.so.5

No symbol table info available.
#16 0x00007ffff6497795 in QCoreApplication::notifyInternal2(QObject_, QEvent_) () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
#17 0x00007ffff6c300bb in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()

from /usr/lib64/libQt5Gui.so.5
No symbol table info available.
#18 0x00007ffff6c31c15 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5

No symbol table info available.
#19 0x00007ffff6c13cdb in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) ()

from /usr/lib64/libQt5Gui.so.5
No symbol table info available.
#20 0x00007fffefcfcde0 in ?? () from /usr/lib64/libQt5XcbQpa.so.5

No symbol table info available.
#21 0x00000030c3c4ba04 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0

No symbol table info available.
#22 0x00000030c3c4bc48 in ?? () from /usr/lib64/libglib-2.0.so.0

No symbol table info available.
#23 0x00000030c3c4bcec in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0

No symbol table info available.
#24 0x00007ffff64e602c in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()

from /usr/lib64/libQt5Core.so.5
No symbol table info available.
#25 0x00007ffff6495a6b in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
#26 0x00007ffff649d866 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
---Type to continue, or q to quit---
#27 0x0000000000407ab2 in main (argc=1, argv=0x7fffffffdd38) at main.cpp:21

    a = <incomplete type>
    w = {<QMainWindow> = {<No data fields>}, static staticMetaObject = {d = {
          superdata = 0x7ffff7aa8160 <QMainWindow::staticMetaObject>, 
          stringdata = 0x4164c0 <qt_meta_stringdata_Krudio>, data = 0x416160 <qt_meta_data_Krudio>, 
          static_metacall = 0x415250 <Krudio::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, 
          relatedMetaObjects = 0x0, extradata = 0x0}}, ceckBUFFtimer = 0x6884b0, ui = 0x6711a0}

(gdb) quit

Add EQ

Please popka add eq 🙏

ToDo

  • Tags support
  • Notifications support
  • MPRIS Support
  • Cover support
  • Import radio playlists from popular linux players

Мои предложения

Пишу сразу всё, дабы не забыть.

  1. Вместо значка в трее пустое место. Добавьте возможность вручную менять значки в трее для состояний остановки/паузы/воспроизведения.
  2. Добавьте в меню ПКМ по значку в трее список радиостанций для переключения, как в radiotray и kradio4 и кнопку поиска композиции в интернете.
  3. Добавьте к значку в трее подсказку с названием радиостанции и информацией о композиции.
  4. Добавьте возможность ЛКМ по значку в трее и кнопку в окно полностью останавливать воспроизведение без буферизации. Мне буферизация как при паузе не нужна, к тому же иногда она заканчивается и композиция жёстко перескакивает на другую. Это раздражает.
  5. Добавьте возможность СКМ по значку в трее открывать поиск композиции в интернете.
  6. Добавьте возможность управления через MPRIS.
  7. Добавьте категории для станций.
  8. Добавьте подсказки к кнопкам в окне.
  9. При запуске значёк в трее по умолчанию спрятан, в настройках трея стоит автоматически показывать значёк. Это нормально? Я не заметил и запустил пять копий. Я думаю стоит запретить запуск больше одной копии.
    Пока всё. Очень надеюсь на реализацию вышеизложенного. Спасибо.

PKGBUILD

pkgname=krudio-git
pkgver=20160424
_git=e7b259633846bae1c03ea1e8c5b062fd2294123c
_repo=krudio
pkgrel=1
pkgdesc="Simple Qt5 radio player"
arch=('i686' 'x86_64')
url="https://github.com/loast/${_repo}"
license=('MIT')
makedepends=('git' 'qt5-multimedia')
depends=('git' 'libnotify' 'qt5-multimedia' 'hicolor-icon-theme')
source=("${_repo}-${pkgver}.tar.gz::${url}/archive/${_git}.tar.gz")
md5sums=('SKIP')

package() {
    mkdir -p "$pkgdir/usr/share/icons/hicolor/16x16/status"
    mkdir -p "$pkgdir/usr/share/icons/hicolor/22x22/status"
    mkdir -p "$pkgdir/usr/share/icons/hicolor/24x24/status"
    mkdir -p "$pkgdir/usr/share/icons/hicolor/48x48/apps"
    mkdir -p "$pkgdir/usr/share/applications"
    mkdir -p "$pkgdir/usr/bin"
    cd "$srcdir/${_repo}-${_git}"
    make all
    make install prefix="$pkgdir"/usr 
}

Баги при отображении стилей Oxygen и Breeze

Oxygen
При первом запуске видно что кнопка play перекрывает pause
screenshot_20160423_003855

Во вкладке добавления станций нижние кнопки за границей области окна
screenshot_20160423_003805

Во вкладке настройки трея над переключателями какая-то полоса
screenshot_20160423_003947

Breeze
Так же во вкладке добавления станций нижние кнопки за границей области окна
screenshot_20160423_004725

Во вкладке настройки трея переключатели в какой-то рамке
screenshot_20160423_004849

KRUDIO V2

Раз уж завели вопрос о воскрешении, набрасаю тут своих идей...
Смотри, подход простой.

Зависимости:

  • Qt Multimedia вполне достойный выбор для балалайки
  • по поводу грабберов обложек и реализации MPRIS эт уже нужно смотреть

У нас есть трек который играет, что от него нужно:

  • Имя
  • Исполнитель
  • Обложка
  • Альбом (необязательно, один трек может быть в куче альбомов)

Управление плеером:

  • Громкость (нафиг ненужна, вполне достаточно системной, ну может добавить mute, хотя есть пауза по сути)
  • Действия: пауза, следующая станция и предыдущая по списку. (как и ранее мы отказались от кнопки стоп, она ненужна, есть пауза)
  • Поиск (возможно лучше это реализовать на основе lastfm или какого другого провайдера, а может и выпилить)

MPRIS:

  • обязательная фича (многие юзают KDE Conect и прочие штуки... куча примеров с реализацией)

Трей

  • текущая версия не робит... и думаю врядли стоило писать костыли для разных размеров. Значок должен юзаться с текущей темы и сам рендерится и изменять размеры от простого QSystemTray

Плейлист

  • куда удобней юзать M3U, можно тупо забиндить путь откуда плеер будет читать плейлист и всё или просто добавить кнопку редактирования плейлиста. Тут под вопросом все это дело.

Воспроизведение

  • статус текущего трека
  • эквалайзер (оно может и ненужно, но приятно когда бегают квадратики)

Внешний вид

  • максимально простой и удобный

Набросал тут небольшой макет:
krudio
Ну и значок от балды))
image
Значки трея и прочее, без проблем тоже...

Здравствуйте!

Раньше я пользовался radiotray, но там были страшные проблемы с воспроизведением потока, а сейчас проблемы с отображением в трее, проект заброшен. Сейчас я пользуюсь krudio и он почти устраивает. Так вот сразу вопросы к вашему проекту: как в вашем радио обстоят дела со значком в трее - я имею в виду, можно ли по нажатию ЛКМ на значке остановить/запустить радио, можно ли по нажатию ПКМ на значке увидеть многоуровневый (с вложенными котегориями) список станций, можно ли скопировать название и автора проигрываемой композиции? Вот двух последних пунктов как раз не хватает в krudio. В нём список идёт простынёй без категорий, и когда радиостанций много это неудобно и некрасиво. И приходится ручками переписывать название композиции и автора, причём быстро, иначе начнёт играть новая композиция и всё пропало. Вот собственно и всё что мне нужно от радио. Буду просто счастлив, если в вашем радио будет реализован этот функционал. На всякий случай вот моя почта [email protected]. Разработчиком я не являюсь, но могу генерировать идеи. Мне очень интересен ваш проект ツ

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.