CopyrightFreeSongs
A simple Elixir library to access and manage a curated list of copyright-free songs. Provides convenient functions for retrieving song information and integrating them into your projects.
Installation
Add copyright_free_songs to your list of dependencies in mix.exs:
elixir
def deps do
[
{:copyright_free_songs, "~> 0.1.0"}] end
After adding the dependency, run: bash mix deps.get
Usage
This library provides functions to retrieve copyright-free song data. Here are a few examples:
1. Retrieving a song by ID: elixir alias CopyrightFreeSongs.Songs
song = Songs.get_by_id(123)
case song do {:ok, song_data} ->
IO.puts("Song Title: #{song_data.title}")
IO.puts("Artist: #{song_data.artist}")->
IO.puts("Song with ID 123 not found.")end
2. Listing all songs: elixir alias CopyrightFreeSongs.Songs
songs = Songs.list_all()
Enum.each(songs, fn song -> IO.puts("Title: #{song.title}, Artist: #{song.artist}") end)
3. Filtering songs by genre: elixir alias CopyrightFreeSongs.Songs
genre = "Electronic" filtered_songs = Songs.list_all() |> Enum.filter(fn song -> song.genre == genre end)
if Enum.empty?(filtered_songs) do IO.puts("No songs found in the genre: #{genre}") else IO.puts("Songs in the genre: #{genre}") Enum.each(filtered_songs, fn song ->
IO.puts(" - #{song.title} by #{song.artist}")end) end
4. Checking if a song is available: elixir alias CopyrightFreeSongs.Songs
song = %{id: 456, title: "Sunset Vibes", artist: "DJ Aurora", is_available: true}
case Songs.is_available?(song) do true -> IO.puts("#{song.title} by #{song.artist} is available.") false -> IO.puts("#{song.title} by #{song.artist} is not currently available.") end
5. Transforming song data using pipes: elixir alias CopyrightFreeSongs.Songs
Songs.get_by_id(789) |> case do {:ok, song} ->
song
|> Map.get(:title)
|> String.upcase()
|> IO.puts()->
IO.puts("Song with ID 789 not found.")end
Features
- Easy Access: Provides simple functions to retrieve copyright-free song data.
- Data Structures: Returns song data as Elixir maps for easy manipulation.
- Filtering: Supports filtering songs based on various criteria.
- Availability Checks: Easily check if a song is currently available for use.
- Comprehensive Data: Includes song titles, artists, genres, and other relevant information.
License
MIT
This package is part of the copyright-free-songs ecosystem. For advanced features and enterprise-grade tools, visit: https://supermaker.ai/music/copyright-free-songs/