Coder Social home page Coder Social logo

tulskiy / musique Goto Github PK

View Code? Open in Web Editor NEW
129.0 129.0 43.0 16.99 MB

Java audio player. Supports mp3, ogg, flac, wavpack, ape, wav, au, aiff. Builtin support for cue files, gapless playback, SHOUTCast/IceCast Radio, last.fm scrobbling.

Home Page: http://tulskiy.github.com/musique/

License: GNU Lesser General Public License v3.0

Java 99.99% Shell 0.01%

musique's People

Contributors

tulskiy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

musique's Issues

Порядок после dead item

Если кликнуть по dead item - сразу произойдет переход к следующему треку. И если нажать Previous, то переход к треку, который играл до dead item не произойдет, а лишь трек начнет играть сначала. Хотелось бы, чтобы переход работал :) Возможно?

can not run program

Starting DBManager
Loading playlist 0
Loading playlist 1
java.lang.IllegalArgumentException: Invalid SortKey
at javax.swing.DefaultRowSorter.setSortKeys(DefaultRowSorter.java:288)
at com.tulskiy.musique.gui.playlist.PlaylistPanel.(PlaylistPanel.java:111)
at com.tulskiy.musique.gui.MainWindow.(MainWindow.java:42)
at com.tulskiy.musique.system.Application.start(Application.java:110)
at com.tulskiy.musique.system.Main.main(Main.java:30)

View Playback Queue

Пункт Clear Playback Queue есть, а можно добавить пункт View Playback Queue? Или кнопку: нажал кнопку(галочку) - в плейлисте остались только треки из очереди, еще раз - назад все песенки вернулись. Ну или в pop-up окне вывести список очереди.

Возвращение фокуса

Если выбрать пункт File -> Add Folder/Files и закрыть окно на Cancel, то фокус главному окну не вернеться. После закрытия Add Location фокус возвращается.

Tagging: not all fields of Mp4 tag are read

Some fields of Mp4 tag are not read. Artist and Album to name a few. Though, the fields are written by Musique and could be seen by 3rd party software (foobar2000, for example). Quick investigation makes me think about encoding issues: (c)ART tag is expected, but <?>ART is actually read from tag. Not sure, just give a start point.

PS. TagTest fails due to this issue.

New features

Thanks for cool player.
How about new features:

  • display/close to tray
  • view playlists in tab (no tab if one playlist)
  • about information
  • global shortcuts
  • DragnDrop
  • Add directory with music (Not only files)
  • Change main icon

Вылетает плеер

Вылетает плеер при попытке открыть содержащую трек папку.
Версия плеера та, которая распространяется в бинарном виде 0.2
Если плеер просто запустить - папка откроется. После нажатия play, при попытке открыть - вылетает, даже если потом нажать stop.

ID3v1 tags are not read

ID3v1 tags used to be read by APE tag reader, but that's disabled now. Need to parse ID3v1 tags separately.

one more feature

Will be glad to see in new version:
Button "OK" in help and about dialogs, FolderChooser in "Add Location", when I add new playlist and rightclick on white space call context menu with "add location" and "add files", moving song between playlists(dragndrop or "move/copy to NewPlaylist"),
"shuffle&repeat" item in "order"...

File Operations does not respect special characters

Special characters should be handled accurately.
For example, if "/" character is presented in track title, then extra folder will be created at destination during Move files process.
Would be nice to respect Win limitations as well (maybe optional).

Двойной клик в плейлисте

Мне кажется или действительно двойной клик в плейлисте плеера надо производить гораздо быстрее чем в системе?

Tag editor: unable to remove ID3v1 field value

One tries to clean/remove some field value. Both ID3v2 and ID3v1 tags are presented. ID3v2 is updated successfully, but ID3v1 update fails due to "java.io.IOException: Operation not supported". As result, one sees "removed" tag in Tag Editor again as it is loaded from not updated ID3v1 frame.

Запуск трека из окна поиска

Было бы неплохо добавить комбинацию (что-нибудь типа Ctrl+Enter) для запуска трека из окна поиска и чтобы при этом окно поиска закрывалось. А то сейчас нашел песню, запустил ее Enter-ом и еще надо закрыть оно поиска. Ну и просто запуск по Enter-у оставить.

Контекстное меню в новом плейлисте

Как насчет добавления контекстного меню с пунктами: Add Files, Add Folders, Add Location в пустом плейлисте. А то уже несколько раз натыкался: создашь плейлист и по пустому полю правой клавишей тыкаю, чтобы в меню не лезть...

File Operations: user defined presets + last used

Presets for each kind of operation to be maintained by user and saved within other Musique app configuration.
At the moment, it is quite unpleasant to enter kind of "%albumArtist%/%albumArtist% '('%year%')' %album%/%disc%-%trackNumber%. %artist% - %title%" pattern each session.

Контекстное меню и после удаления

Контекстное меню трека проподает, когда вызывается меню 2-го уровня. После вызова контекстного меню опять левым кликом выделяем трек и тогда меню пропадет, еще раз выделим - нормально работает, еще раз - пропадает.
"К сожалению" после перезапуска баг пропадает - отловить сложно. Возможно проблема LooknFeel...

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

Прилагаю видео для большей ясности.
http://dl.dropbox.com/u/10960746/musique.mp4
PS: не стал создавать два разных тикета, т.к. в видео записал обе ошибки.

Last track in playlist is not scrobbled

It seems, that last track in playlist is no scrobbled. Perhaps, STOPPED event is not raised (Buffering or Playing thread freezes?) until user manually clicks Stop button.

Logs for your reference (I pressed Stop after 3 mins of waiting and double-clicked the song again):
05/29/11 01:54:25,789 FINE PlayingThread : Getting next track
05/29/11 01:54:25,793 FINE BufferingThread : Opening track file:/home/mliauchuk/nas/mliauchuk/Music/C/CHEjU/CHEjU%20-%20Inscov.mp3
05/29/11 01:54:25,806 FINE MP3Decoder : Opening file: /home/mliauchuk/nas/mliauchuk/Music/C/CHEjU/CHEjU - Inscov.mp3
05/29/11 01:54:25,848 FINE BufferingThread : Finished opening track
05/29/11 01:54:25,848 FINE AudioOutput : Audio format: PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
05/29/11 01:54:25,860 FINE AudioOutput : Dataline info: interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian, and buffers of 32768 to 32768 bytes
05/29/11 01:54:25,873 FINE AudioOutput : Line: org.classpath.icedtea.pulseaudio.PulseAudioSourceDataLine@1d13272
05/29/11 02:00:34,641 FINE BufferingThread : Stop buffering
05/29/11 02:00:34,816 FINE PlayingThread : Getting next track
05/29/11 02:03:43,158 FINE BufferingThread : Stop buffering
05/29/11 02:03:44,782 FINE BufferingThread : Opening track file:/home/mliauchuk/nas/mliauchuk/Music/C/CHEjU/CHEjU%20-%20Inscov.mp3
05/29/11 02:03:44,787 FINE MP3Decoder : Opening file: /home/mliauchuk/nas/mliauchuk/Music/C/CHEjU/CHEjU - Inscov.mp3
05/29/11 02:03:44,838 FINE Scrobbler$SubmitSender : Submitting data: CHEjU&Inscov&1306623265&USER&&&370&Trip+Switch+EP&1
05/29/11 02:03:44,837 FINE BufferingThread : Finished opening track
05/29/11 02:03:49,061 FINE BufferingThread : Stop buffering

Tagging: Jaudiotagger library tries to allocate a lot of memory

Jaudiotagger library tries to allocate a buffer of full file size. True for OggVorbis files.
This could leat to OutOfMemory exception, especially if user left default vmoptions (30/40Mb, while ogg file could be 80Mb+). Also it slowdowns batch ogg files update.
Please, check upstream code or apply local fix (patch could be sent to jaudiotagger team later).

Plugins: more integration points needed

Library/Playlist menus are the only supported touch points for a plugin. Nice to have more such points: for example, for features that do not require selected tracks like plugin settings/about dialogs or operating with app data/functionality.

OSD

Pop-up сообщение (которое возле трея) о проигрываемой песне будет? Здорово если еще можно было бы настраивать что и как там отображать.

Еще было бы неплохо как-то текущее состояние плеера отобразить на кнопках stop, play, pause и в трее иконку соответственно поменять.

Может быть временное отображение прогресса ( 1:34/2:45 ) перенести куда-нибудь после ползунка прокрутки и как-нибудь визуально выделить: шрифт пожирнее.

Где-нибудь бы еще показывалось количество треков в плэйлисте, общая продолжительность, суммарное занимаемое месть на диске...

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

Иконки не во всех формах заменил. В диалоге Add Location подсказку лэйблом вывести: http://bla-bla..., В окне About и Help шрифты при виндовом looknfeel страшные. Будут другие LooknFeel? Альтернатива обложкам.

Minimal view будет?

Stop After Current mode issues

There're several issues with SAC mode:

  1. Song finished to play in SAC mode, but when user clicks Play after that - nothing happens
  2. There's no much sense in keeping mode enabled afer actual finish-and-stop event. At least it should be configurable
  3. More user-friendly to have next track played after actual finish-and-stop event if user initiates playback again (just by Play button)

crash when i try remove column from playlist

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementAt(Vector.java:430)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(BasicTableHeaderUI.java:677)
at javax.swing.plaf.basic.BasicTableHeaderUI.paintCell(BasicTableHeaderUI.java:693)
at javax.swing.plaf.basic.BasicTableHeaderUI.paint(BasicTableHeaderUI.java:669)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
at javax.swing.JComponent.paintComponent(JComponent.java:752)
at javax.swing.JComponent.paint(JComponent.java:1029)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JViewport.paint(JViewport.java:747)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent._paintImmediately(JComponent.java:5072)
at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
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)

Загрузка из архивов

Я понимаю, что плеер не является клоном фубара, но есть ещё одна полезная фича: чтение из архивов. Очень удобна для свежевыкачанных альбомов.

А как killer feature можно уметь читать запароленные архивы (и запоминать пароли?), и уметь их грохнуть (скачал - не понравилось), чего фубар делать не умеет (только простые файлы). Как вариант - возможность распаковать и положить вместо архива.

Рандом по папкам

Сабж - одна из полезнейших функций фубара для меня!

Очень нужна в двух случаях:

  1. В коллекции накиданы файлы с частично заполненными тэгами (при этом они хорошо структурированы по папкам). Ну иногда лень их прописывать прям сейчас, особенно если вообще рандомайзишься по свежевыкачанной помойке.
  2. В коллекции куча сборников (самопальных), у каждого трека в таком "сборнике" скорее всего разный альбом, однако лежат они в одной папке. Как пробежаться по разным сборникам? Никак, если нет такого режима

Было бы неплохо иметь рандом по папкам и в musique :)

Group playlist

Можно добавить в раздел Group playlist пункт content folder (или просто folder)?

Sort By for selection

Real case when user added some new files to playlist, but they are not ordered properly. It is not possible to sort only selected tracks at the moment.

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.