tf Song List


tf Song List is an easy-to-use song listing plugin for bands and solo musicians.

Conveniently manage your song list directly from within the WordPress backend, make use of the nifty CSV import/export functionality, and style the actual output entirely to your liking.

Take a look at the live example, read through the documentation, or just download the plugin right now.


Features

Manage Songs
  • add new songs to the song list
  • edit/delete existing songs
  • delete the entire song list
  • set song status to public (listed both on frontend and backend) or private (listed on backend only)
  • filter the song list by the song status (all songs, public songs, private songs)

Import/Export
  • import songs from a CSV file and insert them into the current song list (duplicates will be detected)
  • import songs from a CSV file and replace the current song list with the import
  • export the entire song list as a CSV file
  • export only the public songs as a CSV file

Settings
  • provide an optional introduction to the song list (some HTML tags allowed)
  • order the song list by artist or title
  • choose the column order "artist | title” or “title | artist”
  • define custom names for the artist and title columns
  • show/hide column names (i.e., table head)

Styling
  • make use of the integrated class names and IDs
  • copy the frontend stylesheet to your template directory and thus be independent of any plugin updates

Screenshots

Screenshot: tf Song ListScreenshot: tf Song ListScreenshot: tf Song List

Documentation

Installing the Plugin
  1. Upload the tf-song-list folder to the /wp-content/plugins/ directory on your web server.
  2. Activate the plugin through the Plugins menu in WordPress.

Managing the Songs

Everything regarding the songs is done on the Songs page. Here you can add new songs, edit or delete existing ones, or even delete the entire song list itself. For each song, you may choose between the public and private status. You can view the song list either in its entirety, or filter by the song status.

Plugin Settings

The settings are fairly self-explanatory – customize the introduction and/or the actual song list to your liking.

Importing a CSV File

When importing a CSV file, please note the following (standard) file format specifications:

  • the first line has to be artist,title,public (i.e., the particular column names)
  • the public field must be either 1 (i.e., public) or 0 (i.e., private)
  • when using a comma inside the artist or title field, the whole entry has to go in double-quotes
  • when using double-quotes inside the artist or title field, the whole entry has to go in double-quotes and the actual (inner) quotes have to be represented by a pair of double-quotes

Respecting the above rules, a valid (fictive) CSV file could look like the following:

artist,title,public
The Counters,"One, Two, Three",1
Invisible Touch,Unseen,0
Burgers and Steaks,"Say ""Yeah!"", Everybody",1

Exporting to a CSV File

Exporting the song list is an easy two-step procedure: First select if you want to export the entire song list or the public songs only, then hit the Download CSV File button.
The saved file is formatted as follows (where the highlighted first line contains the column names):

artist,title,public
Indigo,Better Life,1
Basement One,Here We Are,1
Horizontal,Freundschaft,1
Zodiac,Crystal Tree,1

Displaying the Song List

To display the song list, just add the [tf_song_list] shortcode to your desired page.

FAQ

Who has access to the plugin admin menu?

tf Song List comes with the individual capability manage_tf_song_list. Since the song list is intended to be used on a particular page of your WordPress blog, the capability is granted to all users capable of editing pages.

To individually add/remove the capability (i.e., restrict users capable of editing pages from editing the song list, or allow users incapable of editing pages to edit the song list) you can use the User Role Editor plugin. Please not that if you de- and then re-activate the plugin, the capability will again be granted according to edit_pages.

Is it possible to style/format the introduction?

Of course. To format specific portions of the introduction, you can simply use the standard HTML tags that are allowed for WordPress posts. However, if you want to style the entire introduction (e.g., set a background color, or use an individual font) you can do this by means of CSS and the tfsl-introduction ID.
Add the following to one of your stylesheets (preferably style.css):

/* Introduction before the actual song list */
#tfsl-introduction {
	...
}

The default style includes a bottom margin of 1.5em, so if you don’t like that, set it to 0:

/* Introduction before the actual song list */
#tfsl-introduction {
	margin-bottom: 0;
	...
}

I don’t like the highlighting effect when hovering over a song. How can I remove that?

To remove the hover effect, set the table row background (on hover) to transparent.
Add the following to one of your stylesheets (preferably style.css):

/* Song row hover style */
#tfsl-the-list tr:hover {
	background: transparent;
}

Is it possible to remove the extra space above the songs starting with a new first letter?

Yes, it is. Just set the top padding of the particular table cells to 0.
Add the following to one of your stylesheets (preferably style.css):

/* Song row style for new first letter */
#tfsl-the-list tr.new-first-letter td {
	padding-top: 0;
}

Translations

The plugin originally comes with English and German language.

If you would like to provide a translation for a currently not included language, please go ahead and do that! I would highly appreciate it, and include the file in the next update.

You may either download and work with the current POT file that is located in the languages folder, or use a plugin (e.g., Codestyling Localization) to read the relevant text portions from the plugin files. Then send me the respective PO/MO file via e-mail.

Download

Go ahead and download the current version of tf Song List directly from WordPress.org.

Anything else?

In case I forgot something, or you have a feature request, found a bug and the like, just drop me a line.