Musicott is an application that manages and plays music files. Coded in Java 8 with JavaFX. Uses JAudioTagger to read and write the metadata, Json-io for persistence, TestFx for testing, Guice for dependency injection and some components from ControlsFx.
- Play mp3, wav and m4a (with ALAC encoding) files
- Import mp3, wav and flac files
- Shows waveform of mp3, wav and m4a files
- Import from Itunes Library xml
- Scrobble on LastFM
- Advanced search feature
- Music library statistics
- Smart playlists
I had some trouble creating the native packages and even the jar file, since now the project is structured in several modules. I will work on it and I will upload the release packages when I'll achieve this. Running as described as described in the following section is the recommended way.
To build you need at least Java 8 update 40 and Maven
- Clone Musicott at any directory
git clone https://github.com/octaviospain/Musicott.git
- Build with maven at Musicott's root folder (where
pom.xml
is located) withmvn install -Dmaven.test.skip=true
- Install this two required jar libraries into the local maven repository executing
mvn install:install-file -Dfile=lib/TarsosTranscoder-1.2.jar -DgroupId=be.tarsos -DartifactId=transcoder -Dversion=1.2 -Dpackaging=jar
mvn install:install-file -Dfile=lib/iTunesUtilities.jar -DgroupId=com.worldsworstsoftware -DartifactId=itunesutilities -Dversion=1.2 -Dpackaging=jar
mvn install:install-file -Dfile=lib/jaudiotagger-2.2.6-SNAPSHOT.jar -DgroupId=net.jthink -DartifactId=jaudiotagger -Dversion=2.2.6-SNAPSHOT -Dpackaging=jar
- Run with
mvn exec:java -Dexec.mainClass=com.transgressoft.musicott.MusicottApplication
If you want to add a feature or fix a bug in Musicott, you can submit a pull request as follows:
- Fork the project
- Write the code of the feature with some
javadoc
and the necessary comments - Please don't auto-format the code already written as it would make more difficult to see what was changed
- Add some tests! Doing it in the
tests
branch is preferable - Commit
- Submit a pull request on the
develop
branch
Check out the Wiki pages for help about using Musicott.
- Improved Itunes import. Now the application shows a window to let the user selects which playlists to import.
- Refactored with guice's dependency injection framework.
- Refactored to use maven multi modules.
- Added Artists navigation mode. A list of artists is shown, and clicking one artist shows their albums, with useful information of them.
- Typing on the search field while on the artists mode filters the artists list by the query.
- Added cover thumbnail on the bottom right corner of the table that changes when hovering the rows
- Also when a playlist is shown, the cover of the playlist changes when hovering
- Drag & drop tracks to tracksLibrary is now possible
- Drag & drop tracksLibrary into folders is now possible
- Ability to reorder the playlist queue by drag & drop
- Improved audio files & iTunes importing
- Several bug fixes and performance improvements
- New dark theme
- Added a navigation area with playlist and the showing mode
- Added a information pane at the top of the table when a playlist is shown, with a cover image, the number of tracks and the size of the playlist
- You can hide/show the navigation pane with CMD + SHIFT + R and the table info pane with CMD + SHIFT + H
- You can add tracks to a playlist by drag and drop them
- You can set a new image when editing tracks by drag and drop the file to the image view on the window
- Ability to import from Itunes, selecting the "iTunes Music Library.xml" file
- LastFM API. The user can log in and Musicott will scrobble listened tracks
- Fixed a bug and now the waveform image is shown for all tracks
- Added waveform image for mostly all mp3 files and all wav files
- Better design
- Big refactor implementing better concurrent model
Copyright (c) 2015-2017 Octavio Calleya.
Musicott is free software under GNU GPL version 3 license. The license of Musicott and the licenses of the included libraries in this software are in the LICENSE folder