LINUX.ORG.RU

Musique - 100% Java Аудио Плеер

 ,


0

0

Вышла новая (первая) версия аудио плеера Musique - одного из немногих плееров с открытым кодом написанных полностью на Java.

В этой версии реализована полная поддержка следующих форматов:

  • MP3
  • Ogg Vorbis
  • Flac
  • Monkey's Audio
  • WavPack
  • WAV, AU, AIFF
  • Через JNI и libfaad можно играть MP4
  • CUE файлы, как внешние так и встроенные.

Для всех форматов реализована точная прокрутка (sample accurate seeking) и gapless playback (для mp3 читается LAME Tag).

Поддерживается чтение и запись тэгов id3v1, id3v2, apev2, mp4, Vorbis Comments, FLAC.

Колонки плейлиста можно настраивать с помощью встроенного title formatter'a, подобного тому что в foobar2000.

Лицензия: LGPL 3

Скриншоты.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: tulskiy (всего исправлений: 1)
Ответ на: комментарий от tulskiy

>> сколько памяти жрёт?

Много. Метров 50 минимум, обычно 60-70.

Запустите с опцией -client и померяйте. Скорее всего не хорошем компьютере по умолчанию опция -server, а это плееру совсем ни к чему. Если будет меньше, то добавите в лаунчер. И как вариант, хоть это и не рекомендуется по неизвестным причинам, но после алгоримтов обработки данных можете поставить System.gc().

Для эксперимета можно попробовать -Xint, посмотреть что будет. Ну а что, программы на Python же есть.

значок в трее есть?

Пока нет. Если предсказание Kompilainenn не сбудется, то в следующей версии будет.

В Java 6 появилась поддержка трея. Работы на полчаса.

vertexua ★★★★★
()
Ответ на: комментарий от name_no

внутри iso.wv :

.wv - внутренний

.iso.wv - внешний (подделанный формат WavPack в который foobar2000 ухитряется прошить cue и логи и прочую метаинфу)

tommy ★★★★★
()
Ответ на: комментарий от tommy

> ну и поддержка внутреннего прошитого cue в .wv без поддержки внешнего прошитого cue в iso.wv - это неправильно :)

deadbeef поддерживает cue прошитый в apev2

тот .cue файл который лежит в iso-образе - не поддерживается (как и вообще все файлы в .iso, кроме собственно самого .wv).

правильно это, или неправильно — отдельный вопрос.

waker ★★★★★
()
Ответ на: комментарий от tommy

Сейчас открыл скачанный с раздачи на torrents.ru альбом Blind Guardian в iso.wv (Blind.Guardian.-.Tales.From.The.Twilight.World.[2007.Remastered].[1991].wv.iso.wv), файл автоматом разложился на треки и нормально воспроизводится. Поскольку автор утверждает, что внутрь iso оно не лезет, получается, что внешний прошитый cue в deadbeef поддерживается. про поддержку русского не могу ничего сказать.

name_no ★★
()
Ответ на: комментарий от vertexua

> Запустите с опцией -client и померяйте.

С клиентом ест 40-45Мб. Добавлю в лаунчер. С -Хинт ест столько же памяти и 20-30% процессора.

В Java 6 появилась поддержка трея. Работы на полчаса.

Я уже делал это, но там какие-то проблемы были с рендером иконки в гноме, и я убрал. Да и иконки пока нет :)

tulskiy
() автор топика
Ответ на: комментарий от name_no

> мне его сегодня не сконпелять )))

Так на гитхабе в разделе Downloads есть скомпилированная версия.

tulskiy
() автор топика

Надо попробовать. Last.fm умеет?

corristo
()

жаль интерфейс не на swt... остальные явовские gui-либы выглядят не очень.

corristo
()
Ответ на: комментарий от tulskiy

> Так на гитхабе в разделе Downloads есть скомпилированная версия.

А, ну я сразу так и не понял. Я отуда скачал, открываю README, а там как сконпелять написано. Когда выбираешь файл диалог выбора бесит просто. Прокрутил к файлу, пытаешься сделать даблклик, а он после первого клика файл из-под курсора убирает (подтаскивает к левому краю). Понимаю, что не ТС виноват, но всё-таки.

Упомянутый выше файл сабж не играет.

name_no ★★
()
Ответ на: комментарий от name_no

> Упомянутый выше файл сабж не играет.

Хотя, кажется, он у меня вообще ничего не играет:

Couldn't find libfaad2
javax.sound.sampled.LineUnavailableException: Audio Device Unavailable
        at com.sun.media.sound.HeadspaceMixer.nResume(Native Method)
        at com.sun.media.sound.HeadspaceMixer.implOpen(HeadspaceMixer.java:346)
        at com.sun.media.sound.AbstractMixer.open(AbstractMixer.java:286)
        at com.sun.media.sound.AbstractMixer.open(AbstractMixer.java:323)
        at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:103)
        at com.sun.media.sound.MixerSourceLine.open(MixerSourceLine.java:39)
        at com.tulskiy.musique.audio.player.Player$PlayerThread.initLine(Player.java:259)
        at com.tulskiy.musique.audio.player.Player$PlayerThread.open(Player.java:355)
        at com.tulskiy.musique.audio.player.Player.open(Player.java:47)
        at com.tulskiy.musique.gui.playlist.PlaylistPanel.playSelected(PlaylistPanel.java:279)
        at com.tulskiy.musique.gui.playlist.PlaylistPanel.access$1000(PlaylistPanel.java:50)
        at com.tulskiy.musique.gui.playlist.PlaylistPanel$12.mouseClicked(PlaylistPanel.java:288)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6266)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2475)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

name_no ★★
()
Ответ на: комментарий от waker

тот .cue файл который лежит в iso-образе - не поддерживается (как и вообще все файлы в .iso, кроме собственно самого .wv).


правильно это, или неправильно — отдельный вопрос.


не отдельный файл.cue который внутри образа, а cue который может быть прошитый в реальный .wv файл внутри структуры iso

вот если поддерживается cue прошитый в .wv но не поддерживается/не читается cue прошитый (в поддельный контейнер) в iso.wv - тогда не правильно.

например я прошиваю cue 2 раза - и внутрь .wv и потом во внешний iso.wv

если ты проверял на подобном файле то прога может не читать cue прошитый в iso.wv (если она ищёт вшитый .cue именно в реальном .wv контейнере внутри iso)

tommy ★★★★★
()

т.е плеер теперь будет играть по одной секунде трека с паузой в 3 секунды на Core 2 Duo E6600? Нет, спасибо.

sniper21 ★★★★★
()
Ответ на: комментарий от waker

вот когда я видел патч для qmmp где написано что это специальная поддержка iso.wv - подобных обсуждений не надо.

но мы не знаем что именно распарсивает DeaDBeeF - прошитый cue внутри реального музыкального .wv файла или (как и надо) вшитый cue прошитый во внешний iso.wv

потому как если в реальном .wv не прошит cue то DeaDBeeF может обломаться. а такая поддержка cue вшитогоо в реальный .wv внутри iso.wv не нужна и неправильна.

tommy ★★★★★
()
Ответ на: комментарий от tommy

> вот если поддерживается cue прошитый в .wv но не поддерживается/не читается cue прошитый (в поддельный контейнер) в iso.wv - тогда не правильно.

я не понимаю как такое можно сделать. со стороны плеера — .wv и .iso.wv это просто .wv файл с apev2 тегом.

waker ★★★★★
()
Ответ на: комментарий от waker

а вот так. я прошиваю cue 2 раза. сначала прошиваю в .wv (и лог туда же) а потом ImgBurn-ом сую в iso и прошиваю ещё раз. а получается что там cue 2 раза прошит. плюс отдельно файлом.

вот что DeaDBeeF парсит? открывает внутренний .wv ? или читает тот прошитый cue который прошит в iso.wv ?

tommy ★★★★★
()
Ответ на: комментарий от tulskiy

И всетаки реквестирую табы как дедбифе))) у строку поиска уберите по умолчанию плиз )... ну либо опцию поставьте чтобы убрать и будет годный плеер)

rellai
()
Ответ на: комментарий от tommy

> но мы не знаем что именно распарсивает DeaDBeeF - прошитый cue внутри реального музыкального .wv файла или (как и надо) вшитый cue прошитый во внешний iso.wv

вы не знаете, а я знаю. deadbeef парсит cue прошитый в apev2 внутри .wv файла. и пофигу на .iso в имени файла.

waker ★★★★★
()
Ответ на: комментарий от tommy

> а вот так. я прошиваю cue 2 раза.

прочитается только 1. и запишется скорее всего тоже только 1.

в deadbeef нет таких понятий как «внутренний» и «внешний» wv.

читается поле CUESHEET из APEv2 тега.

я что, как-то непонятно изъясняюсь, или у тебя проблемы с пониманием?

waker ★★★★★
()
Ответ на: комментарий от tommy

> но мы не знаем что именно распарсивает DeaDBeeF - прошитый cue внутри реального музыкального .wv файла или (как и надо) вшитый cue прошитый во внешний iso.wv

даже я понял ещё на предыдущей странице, что deadbeef парсит .iso.wv так, как будто это просто .wv, что означает, что он не вытаскивает засунутый внутрь образа wv, а берёт тот cue, который прошит в тегах файла .iso.wv

Томми, раньше ты был адекватнее.

name_no ★★
()
Ответ на: комментарий от waker

твоё объяснение вероятно неверное, хотя программа вероятно проигрывает iso.wv правильно.

потому что внутри iso.wv есть файл .wv . ты говоришь что парсится он. в реальности же читается cue не из файла .wv , а из внешнего поддельного контейнера iso.wv

tommy ★★★★★
()
Ответ на: комментарий от tommy

> потому что внутри iso.wv есть файл .wv . ты говоришь что парсится он.

нет, waker говорит, что он не парсится и программа даже не знает о его существовании

name_no ★★
()

BUILD FAILED

не удалось собрать с sun-jdk

maxt@laptop:/mnt/sda6/java/musique$ ant -f musique.xml 
Buildfile: /mnt/sda6/java/musique/musique.xml

init:

clean.module.cuelib:

clean.module.javalayer:

clean.module.jflac:

clean.module.jmac:

clean.module.jorbis:

clean.module.wavpack:

clean.module.jaudiotagger:

clean.module.musique:

clean.artifact.release:

clean:

compile.module.cuelib.production:
    [mkdir] Created dir: /mnt/sda6/java/musique/out/production/cuelib
    [javac] /mnt/sda6/java/musique/musique.xml:139: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 23 source files to /mnt/sda6/java/musique/out/production/cuelib

BUILD FAILED
/mnt/sda6/java/musique/musique.xml:139: /usr/lib/jvm/java-6-openjdk does not exist.

Total time: 2 seconds
maxt
()
Ответ на: комментарий от name_no

> программа даже не знает о его существовании

так и надо. на то и рассчитывали придумавшие контейнер iso.wv - обмануть фубар, заставить его читать cue прошитый «сверху» iso а не из реального .wv файла (в котором внутри iso он cue не найдёт). просто его объяснение было не совсем точным/правильным.

tommy ★★★★★
()

QMMP рулит! :)

ЗЫ waker тоже рулит! :)

stalkerg ★★★★★
()
Ответ на: комментарий от waker

> врядли. его еще даже не начали принимать в официальные репозитории.

Он ведь вроде недавно стал дефолтным в любунту, не?

paran0id ★★★★★
()

Не работает регулировка звука.
OS: slackware-current,

JDK: java version «1.6.0_20»
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)

PulseAudio нету. В лог кинулось это: Couldn't find libfaad2

some-body ★★
()
Ответ на: комментарий от paran0id

> Он ведь вроде недавно стал дефолтным в любунту, не?

это только в планах у LXDE на LUbuntu 10.10.

deadbeef-0.4.3 наверное уже получится пропихнуть в репы debian и ubuntu.

waker ★★★★★
()
Ответ на: комментарий от tommy

По твоему описанию похоже что iso.wv это такой велосипед собранный из костылей и подпорок, скреплённый изолентой и ржавой проволокой.

ptah_alexs ★★★★★
()
Ответ на: комментарий от ptah_alexs

да. но частично цель iso.wv - это что-бы туда не лезли и внутри релизов ничего не меняли. iso.wv это законченный релиз. там нечего менять. а перепакованных rar / переделанных/запакованных/разжатых релизов как грязи. школоте и криворуким любителям попортить что-то в нормальных релизах просто лень копаться/возиться со всем этим. а плеер просто это проиграет открыв список треков. ну и я не встречал криво или неправильно рипнутых релизов iso.wv - если уж это сделано то сделано правильно. там и оффсеты при рипе выставлены и параметры рипа и правильный (а не кривой поломанных потрековый) cue и тд. а то есть любители и логи подделывать беря их от чужих релизов и тд.

tommy ★★★★★
()
Ответ на: комментарий от tommy

короче. видим на трекере потрековую раздачу (или просто раздачу в в FLAC/APE) и раздачу в iso.wv. так вот iso.wv можно качать не проверяя - скорее всего там всё правильно и cue не кривой и через него как минимум можно будет прожечь CD-DA. те кто делает iso.wv делают всё правильно и аккуратно.

ну и поиск например по ослу файлов удобен - не надо искать части альбома если он рипнут по трекам или не распаковывать/не встраивать в плееры поддержку проприетарного rar

tommy ★★★★★
()
Ответ на: BUILD FAILED от maxt

В проперти файле musique.properties поправь путь к jdk.

И вообще, build.xml очень странен. Генеренный IDE?

baverman ★★★
()

Автору большой респект. Особенно за поддержку cue . Вообще уважаю аудио пл. в стиле классик. аля фубар. А то куча плаеров и у одного, то аре не играет, то в другом cue не работает. Зато куча разных наворотов. И нахр_н они нужны если нет поддержки основных функций в виде полной поддержки cue и основных форматов аре флас огг .

anonymous
()
Ответ на: комментарий от waker

> я что, как-то непонятно изъясняюсь, или у тебя проблемы с пониманием?

он же Томми, после столкновения со стеной он контужен же....понимать надо..

по сабжу: аудиоплеер жрущий 50-70 мегов озу и 20-30% проца совсем не нужен. Надеюсь мое предсказание сбудется.

PS: Waker, респект тебе за deadbeef

Kompilainenn ★★★★★
()
Ответ на: комментарий от baverman

да, собралось. только вот при сборке почему то в манифест не прописался main-class - запустить собранное не удалось.

ps: версия что выложена бинарником у меня сломалась(

maxt
()

> написанных полностью на Java

Закопать.

pevzi ★★★★★
()
Ответ на: комментарий от tommy

> так он не обычный .wv . это подделанный/читерский .wv

Читаю вот тред, и думаю, чем бы дитя не тешилось, лишь бы flac tracks не использовать. Может я чего-то не понимаю, но в чём, собственно, профит таких iso.wv?

cruxish ★★★★
()
Ответ на: комментарий от anonymous

> если нет поддержки основных функций в виде полной поддержки cue

.cue нужен программам для записи дисков. Для *плееров* это далеко не основная функция.

Да, и .cue с описаниями не в Latin1 - извращение.

cruxish ★★★★
()
Ответ на: комментарий от cruxish

Да, и .cue с описаниями не в Latin1 - извращение.


Track Listings

1. だいじょうぶ(TVサイズ)(前田亜季)
2. 春1
3. 春2
4. 春3〈EARLY SUMMER〉
5. My Tomorrow(今井由香)
6. 初夏1
7. 初夏2〈SUMMER〉
8. Truth(松村香澄)
9. 夏1
10. 夏2
11. 夏3
12. 夏4
13. 夏5〈AUTUMN〉
14. WHERE IS MY PARADISE(浅川悠)
15. 秋1
16. 秋2
17. 秋3
18. 秋4〈WINTER〉
19. Memoria)(浜野和子)
20. 冬1

tommy ★★★★★
()
Ответ на: комментарий от cruxish

Да, и .cue с описаниями не в Latin1 - извращение.


Spisok pesen

01. Dozd' (05:05)
02. V poslednuyu osen' (04:45)
03. Foma (06:52)
04. Rodina (04:37)
05. U tiebiya est sin (03:30)
06. Xram (05:29)
07. Chto takoe osen' (04:57)
08. Notch (05:09)
09. Aktrisa Viesna (05:43)

tommy ★★★★★
()
Ответ на: комментарий от cruxish

<<cue нужен программам для записи дисков. Для *плееров* это далеко не основная функция.

Да, и .cue с описаниями не в Latin1 - извращение. >>

незнаю как вам, а мне например намного удобнее работать с двумя фаилами - типа flac/ape, cue а не с набором фаилов. хранить удобнее. А если еще большая фонотека так и хранить удобнее да и ориентироваться - работать с ней. чем с тысячью фаилов.

anonymous
()
Ответ на: комментарий от cruxish

>.cue нужен программам для записи дисков. Для *плееров* это далеко не основная функция.

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

tommy ★★★★★
()
Ответ на: комментарий от anonymous

> А если еще большая фонотека так и хранить удобнее да и ориентироваться - работать с ней. чем с тысячью фаилов.

Возможно. Но, например, мне иногда хочется включить какой-нибудь трек в консоли через mplayer. Или записать альбом на плеер (который, естественно, в силу того, что он *плеер*, не понимает .cue). Я могу сохранять в треки теги на любом языке, и не бояться, что они где-то неправильно прочитаются, я могу добавлять ReplayGain для каждого трека. Это так, несколько юзкейсов навскидку.

cruxish ★★★★
()
Ответ на: комментарий от tommy

> прописывальщики тегов в каждый mp3 файл? а если альбом на английском/франзузском/немецком/японском я не имею право открыть трек лист на том языке на котором хочу? мне не нужны прошитые теги в mp3 на французском или итальянском.

Не совсем понял, при чём тут MP3, и что вы хотели сказать.

cruxish ★★★★
()
Ответ на: комментарий от cruxish

>Это должно быть в тегах FLAC, для которых в стандарте указан UTF-8.

да, cue прошитые внутри контейнеров в UTF-8 . а отдельно лежат ещё несколько штук - в разных кодировках. разные кодировки они не только у нас, но и у китайцев и у японцев.

tommy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.