Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/okellosam21/mytunes

MyTunes is a desktop application for managing and playing your music library. It allows you to add, delete, and play songs, as well as organize your music collection. The application now leverages ID3 tags to automatically retrieve song metadata, improving the user experience.
https://github.com/okellosam21/mytunes

java javafx mp3agic

Last synced: about 2 months ago
JSON representation

MyTunes is a desktop application for managing and playing your music library. It allows you to add, delete, and play songs, as well as organize your music collection. The application now leverages ID3 tags to automatically retrieve song metadata, improving the user experience.

Awesome Lists containing this project

README

        

# MyTunes

## Description
MyTunes is a desktop application for managing and playing your music library. It allows you to add, delete, and play songs, as well as organize your music collection. The application now leverages ID3 tags to automatically retrieve song metadata, improving the user experience.

## Features
- Add songs to the library using ID3 tags
- Delete songs from the library
- Play, pause, unpause, stop, and navigate through songs
- Drag and drop files to add them to the library
- SQLite database integration for storing song information
- Songs from previous sessions are loaded and displayed on startup

## Installation
1. **Clone the repository**:
```sh
git clone https://github.com/OkelloSam21/mytunes.git
cd mytunes
```

2. **Set up the database**:
- Ensure you have SQLite installed.
- The database will be automatically created and set up when you run the application for the first time.

3. **Add Libraries**:
- **IntelliJ IDEA**:
- Open the project in IntelliJ IDEA.
- Go to `File > Project Structure > Modules > Dependencies`.
- Click the `+` icon to add the necessary libraries (e.g., `sqlite-jdbc`, `mp3agic`).

- **Maven**:
- Create a `pom.xml` file in the root directory of your project.
- Add the following dependencies:
```xml

4.0.0
com.example
mytunes
1.0-SNAPSHOT



org.xerial
sqlite-jdbc
3.36.0.3



com.mpatric
mp3agic
0.9.1



org.openjfx
javafx-controls
15.0.1


org.openjfx
javafx-media
15.0.1



```

- **Gradle**:
- Create a `build.gradle` file in the root directory of your project.
- Add the following dependencies:
```groovy
plugins {
id 'java'
}

group 'com.example'
version '1.0-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
implementation 'org.xerial:sqlite-jdbc:3.36.0.3'
implementation 'com.mpatric:mp3agic:0.9.1'
implementation 'org.openjfx:javafx-controls:15.0.1'
implementation 'org.openjfx:javafx-media:15.0.1'
}
```

4. **Build and run the application**:
- **IntelliJ IDEA**:
- Build the project and run the `Main` class.
- **Maven**:
- Open the terminal and run `mvn clean install`.
- **Gradle**:
- Open the terminal and run `./gradlew build`.

## Usage
- **Add Song**: Use the "Add Song" option in the menu or right-click on the library pane to add a song. The application will automatically extract metadata from the ID3 tags.
- **Delete Song**: Select a song in the library and use the "Delete Song" option in the menu or right-click on the library pane.
- **Play Song**: Select a song in the library and click the "Play" button.
- **Pause/Unpause Song**: Click the "Pause" or "Unpause" button.
- **Stop Song**: Click the "Stop" button.
- **Next/Previous Song**: Use the "Next" or "Previous" buttons to navigate through the songs.
- **Drag and Drop**: Drag and drop files directly onto the library pane to add them.

## Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Open a pull request.