Posted by Dublin Drupaller on February 19, 2009 at 12:23pm
hi Guys,
I've just been comissioned to develop a discography.module for Drupal. As the name suggests, it's designed to allow site admins who manage band/artist/label sites to insert discography information into a Drupal site, without having to jump through hoops with CCK & views.
I've had enough emails from site admins, getting stuck and asking for help, to know that there would be a demand for this module. Thought I'd post a notice up here to alert the art & music group to progress.
- Release name (node title)
- Release type (Album/single/ep/other)
- Release format (Vinyl/CD/DIGITAL/Cassette/DAT/DVD)
- UPC (unique product code)
- Record Label
- Artist
- Track Listing (including audio previews)
- ISRC codes (per track)
- Release date
- Release information (node body)
- Amazon/itunes/shop links.
- Release artwork
- Release genre
Notes
- The settings page will allow site admins to specify which fields are included in the create content -> add release page and/or which fields are required.
- The audio previews will, ideally, be based on the following player if it's available under GPL: http://www.schillmania.com/projects/soundmanager2/demo/page-player/ (the "Page as a playlist" demo) or the audio.module players if the module is enabled.
- Version #1 will be designed for use with Drupal 6.x and to work with or without the audio.module.
- Version #2: include a discography import option so site admins managing a site with a large discography don't have to submit each release individually.
- A dicography project already exists on Drupal.org, but, it has been dormant since 2005. I've got in touch with the Drupal user who submitted that project to see what's happening.
- Version #2: include an option to automatically submit the discography information to discogs.com and/or other webservices....such as facebook or the excellent Spotify
- If you would like to help test and/or donate to the development costs of this project, please get in touch at http://www.DublinDrupaller.com/contact
- If you have an idea for functionality please post a response up here.
cheers,
dub

Comments
Great idea. i built out suc
Great idea. i built out suc a thing with CCK/Views/audio module for www.nookandcrannyrecord.cm.
i would thoroughly recommend that you base all of the data storage off of CCK for maxkmum functionality and to allow user customization. That way, all data is available to views, and display can be configured with the CCK display tools.
there are modules out there that create complex CCK fields programmatically. only one i can think of at the moment is ubercart, which will add imagefields for you if you have the module installed.
Also, you could then build some default views for your interface.
i'd like to help on this project. let me know what i can do!
jon
Jonathan Pugh
CareerNerd Industries
www.careernerd.com
Jon Pugh
Founder & CEO
THINKDROP
open source consulting
http://thinkdrop.net
cool sounds..
(aside: I'm listening to The Art of Macrame at the moment....and lovin it, Jon. By the way, I think you posted the wrong link..the correct link is: http://www.nookandcrannyrecords.com )
Totally agree about using CCK and Views. I thought about creating an independent custom module for about 3 seconds before opting for the route you mentioned.
Do you happen to know if there is any "standards", such as what's the standard set of mandatory fields expected in a discography? I was checking www.discogs.com and gracenote.com earlier to see what their "standards" are..and I think we're pretty much covered with the list above.
dub
Discography Details
Hi there!
Still not using Drupal but on my way... In the next couple of months I am launching a 2.0 campaign for my own album and I am still thinking what is the best way to do it. There are many good solutions (last.fm etc) but a personal web i a personal web.
I am a long time music profesional and have been working a lot with title registration database conversion for the territory of ex-Yugoslavia - and when you handle stuff here, you are good everywhere! Like learning how to drive in a f...d up old Fiat :)
My advice for the discography module: To be on the cutting edge, be sure to integrate discography with music publishing or a least provide all the needed fields, such as IP names (Interested Party - e.g. (C) Composer, (A) Writer of lyrics (and then off course CA), Arranger (A), Original Publisher (E), Substituted Publisher (SE) - that's the most important ones enough for 99% of all song entries).
This is important since in modern music biz you always need to take care of two rights - on the music as audio masters, and on the song as composition, where the latter is a prerequisite (you can make your own master of a certain song, but you always need to take care of the compostition rights).
As major labels have been dominant in the biz for a lot of years, they have pushed (so far) a system where composers are "off bounds", and, although you clearly have then on CDs, they somehow dissapeared on iTunes etc.
The current standard for the transfer of files with title registrations (meaning data on who is included in which song) is called CWR (Common Works Registration) and is valid in all major markets. It is somehow restricted (on purpose ;-) but if you are interested I can mail you a copy.
Maybe this will be a bit overwhelming but trust me I know why I am saying this!
If you are interested, we could work together on this publisher part or even think about making a musicpublishing.module.
If you are not really sure WHY this would be important, check the book Music 2.0 by Gerd Leonhard, www.music20book.com
Best,
Zvonimir Dusper - Dus
Music Producer/Composer/Multiinstrumentalist/2.0 Concepts development
Zvonimir Dusper - Dus
Music Producer/Composer/Multiinstrumentalist/2.0 Concepts development
great idea
Hi Dus,
I like the idea of being able to sort a song discography by arranger, producer, writers etc. rather than just the "main" artist name and the usual suspects, like genre, year etc.
I've been looking around various organisations like the IFPI, BPI and music publishers association for guidelines on what fields should be included in a "standard" discography. There doesn't appear to be any "standard". Gracenote (aka CDDB) and discogs.com through usage appear to be the main online discography databases and the list above in my earlier post pretty much covers their main fields, which is arguably the record label side of things.
It would be great if you could post up here a list the publishing fields you think should be in there as well.
I know that we could, potentially, end up with a massive list of fields, but, the way Drupal works, it will be relatively simple for a site admin to seperate out the 'industry' info. from the 'public' info..if you know what I mean. e.g. joe public won't necessarily want to know the ISRC code for each track..but, it is useful from an industry perspective to identify ownership, rights, royalties etc.
cheers
dub
Media sprint, Metadata and getID3
DD,
Do you plan to also use GetID3 for some of this? I could see that being essential in some cases, for instance when saving that metadata with a file. Additionally, you should look at the Media project as well, both because a) it's the way media will be done in Drupal going forward (with PHP Stream Wrappers going into core), and b) we're in the middle of adding a consistent handler for file metadata, which might be a good place to plug into.
Aaron Winborn
Drupal Multimedia (book, in October!)
AaronWinborn.com (blog)
Advomatic (work)
Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic
media project..
hi Aaron.
No plans to use GetID3. That might change, however. The original idea was to develop the modules so it just plugs into other modules...like cck...views...the audio.module, or your media project module(s)...and so on.
The primary premise for the discography.module was because I get a lot of emails asking for help setting up a music release discography from Drupal site admins - which is essentially creating a new node type and views. So it started out as more of a helper module than anything else....hence the idea of plugging into other modules for data and display..i.e. cck, views etc.
As an aside, creating a new node type and setting up views are (paradoxically) very difficult for relative newcomers to Drupal and the (code) overhead is immense. A site admin has to download and install about 6 or 7 modules (or more if they want audio related functionality)...then install the discography.module, just to produce a relatively simple list of releases. On top of that, they have to know and understand how the cck (and related modules) and views modules work to shuffle stuff about.
The words bringing the mountain to mohammed springs to mind.
If views and cck end up in core, I think it might help matters...there are less modules to download and install, for a start, but, part of me wonders if the bloat of code that goes with that is justified....i.e. only seasoned drupal users will be able to use cck and views. A site admin for a band site, for example, may not really want to have to study views and cck, just to create a discography.
Having worked on the media project modules, what's your thoughts on that?
I suppose the point I'm making is that I forget sometimes how hard it was to get to know Drupal a few years ago when there was less modules and less possible variations. Now that there are thousands of modules...and very sophisticated user interfaces, in particular the views.module UI, I can only imagine how difficult it must be for newcomers...who just want to do something simple...picking up Drupal.
Dub
Dub, I wrote up a nice long
Dub,
I wrote up a nice long response to this earlier, but forgot to hit submit before closing my browser. Hopefully I'll get the main points I wanted to get across.
Firstly, I applaud your efforts. I think it's a great idea, and definitely usable. I know the challenges you're up against with automating the node/field setup. I'd love for you to join the Media Sprint from the directions you're working on. The more developers we can get on the same page, the faster we'll revolutionize Drupal Multimedia!
The metadata issue you should probably look at is http://drupal.org/node/377066. There's a long discussion that's gone over several weeks preceding that as well regarding tying in metadata with file streams; talk with arthurf, dopry, drewish, kwinters, alexua and myself for more info.
I know there was more I'd originally written, but can't remember right now. Are you going to be at DCDC?
Thanks,
Aaron
Aaron Winborn
Drupal Multimedia (book, available now!)
AaronWinborn.com (blog)
Advomatic (work)
Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic
Spaces
You might also want to look at the Spaces module as a way of implementing some of what you want to do. These could be exported and included as part of your module, unless I misunderstand the intention of Spaces. I haven't used it yet, but am excited about http://www.developmentseed.org/blog/2009/jan/28/spaces-paradigm-reusable... and related posts. (It appears that it can be used with the Context module to create node types and views on the fly.)
Aaron Winborn
Drupal Multimedia (book, in October!)
AaronWinborn.com (blog)
Advomatic (work)
Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic
quick update.
progress is slow. So many media modules all doing similar things. Took ages to work out which ones were the best ones to go for. (as an aside, Aaron: I really appreciate the work you and your team are doing on the media front, it's really pulling together an area of Drupal that seems all over the place. completely directionless. loads of duplicated functonality and heaps of wasted energy)
Was hoping to have a beta ready today, but, it will be next weekend at the earliest now. very busy week ahead with March 17th slap bang in the middle.
talk later
Dub
Details, details please!
Dub,
Huge thanks for including us in your thoughts, I look forward to hearing the details of what you put together and how it's working for you. Like you, I'm lost in the maze of module combinations and falling into the holes that many of the combinations create. Look forward to hearing from you post-March 17th.
D.
any further updates?
Hello Dub,
I was wondering whether you had any progress with this development? Seems very promising and it's worth mentioning which direction is taking!
almost there
hi charos. still in dev. trying to work out a tidy solution for lyrics. hope to have a beta version ready soon. I'm not putting a date on release yet as the spring holiday is almost here but it should be before the end of april.
Great!
Nice to know that the development is ongoing! Release date is not really important. One thing I learned during my little experience with Drupal community is that patience is always rewarding!
snippet follow up
here's the snippet I mentioned.....for generating the release content type.
$content['type'] = array (
'name' => 'Release',
'type' => 'release',
'description' => 'Add a new release to the site Discography.',
'title_label' => 'Release title',
'body_label' => 'Release Info',
'min_word_count' => '0',
'help' => '',
'node_options' =>
array (
'status' => true,
'promote' => true,
'sticky' => false,
'revision' => false,
),
'old_type' => 'release',
'orig_type' => '',
'module' => 'node',
'custom' => '1',
'modified' => '1',
'locked' => '0',
'comment' => '0',
'comment_default_mode' => '4',
'comment_default_order' => '1',
'comment_default_per_page' => '50',
'comment_controls' => '3',
'comment_anonymous' => 0,
'comment_subject_field' => '1',
'comment_preview' => '1',
'comment_form_location' => '0',
);
$content['groups'] = array (
0 =>
array (
'label' => 'Release Details',
'group_type' => 'standard',
'settings' =>
array (
'form' =>
array (
'style' => 'fieldset',
'description' => '',
),
'display' =>
array (
'description' => '',
'teaser' =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'full' =>
array (
'format' => 'no_style',
'exclude' => 0,
),
4 =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'label' => 'above',
),
),
'weight' => '-3',
'group_name' => 'group_release_details',
),
);
$content['fields'] = array (
0 =>
array (
'label' => 'Artwork',
'field_name' => 'field_release_artwork',
'type' => 'filefield',
'widget_type' => 'imagefield_widget',
'change' => 'Change basic information',
'weight' => '-4',
'file_extensions' => 'jpg jpeg png gif',
'file_path' => '',
'max_filesize_per_file' => '',
'max_filesize_per_node' => '',
'max_resolution' => '301x301',
'min_resolution' => 0,
'custom_alt' => 1,
'alt' => 'Release cover',
'custom_title' => 0,
'title' => '',
'description' => 'Upload the release artwork (300 x 300 pixels)',
'group' => false,
'required' => 0,
'multiple' => '0',
'list_field' => '0',
'list_default' => 1,
'description_field' => '0',
'op' => 'Save field settings',
'module' => 'filefield',
'widget_module' => 'imagefield',
'columns' =>
array (
'fid' =>
array (
'type' => 'int',
'not null' => false,
),
'list' =>
array (
'type' => 'int',
'size' => 'tiny',
'not null' => false,
),
'data' =>
array (
'type' => 'text',
'serialize' => true,
),
),
'display_settings' =>
array (
'weight' => '-4',
'parent' => '',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'image_plain',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
1 =>
array (
'label' => 'Artist',
'field_name' => 'field_release_artist',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '-4',
'rows' => 5,
'size' => '60',
'description' => '',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_artist][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_artist' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_artist][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-4',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
2 =>
array (
'label' => 'Release type',
'field_name' => 'field_release_type',
'type' => 'text',
'widget_type' => 'optionwidgets_select',
'change' => 'Change basic information',
'weight' => '-3',
'description' => 'Specify the type of release you are adding to the site Discography.',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_type' =>
array (
'value' => '',
),
),
'group' => 'group_release_details',
'required' => 1,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Album
Single
EP
other',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-3',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
3 =>
array (
'label' => 'Release format',
'field_name' => 'field_release_format',
'type' => 'text',
'widget_type' => 'optionwidgets_buttons',
'change' => 'Change basic information',
'weight' => '-2',
'description' => 'Specify the release format.',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_format' =>
array (
'value' =>
array (
'' => 1,
'Cassette' => false,
'Compact Disc' => false,
'DAT' => false,
'Download' => false,
'DVD' => false,
'Flash Drive' => false,
'Vinyl' => false,
'Other' => false,
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '1',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Cassette
Compact Disc
DAT
Download
DVD
Flash Drive
Vinyl
Other
',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-2',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
4 =>
array (
'label' => 'Release UPC',
'field_name' => 'field_release_upc',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '-1',
'rows' => 5,
'size' => '60',
'description' => 'Specify the Unique Product Code for the release.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_upc][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_upc' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_upc][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-1',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
5 =>
array (
'label' => 'Record Label',
'field_name' => 'field_release_label',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => 0,
'rows' => 5,
'size' => '60',
'description' => 'Specify the name of the Record Label.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_label][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_label' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_label][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => 0,
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
6 =>
array (
'label' => 'Release date',
'field_name' => 'field_release_date',
'type' => 'date',
'widget_type' => 'date_select',
'change' => 'Change basic information',
'weight' => '1',
'default_value' => 'blank',
'default_value2' => 'same',
'default_value_code' => '',
'default_value_code2' => '',
'input_format' => 'j M Y - H:i:s',
'input_format_custom' => '',
'year_range' => '-23:+1',
'increment' => '1',
'advanced' =>
array (
'label_position' => 'above',
'text_parts' =>
array (
'year' => 0,
'month' => 0,
'day' => 0,
'hour' => 0,
'minute' => 0,
'second' => 0,
),
),
'label_position' => 'above',
'text_parts' =>
array (
),
'description' => '',
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'repeat' => 0,
'todate' => '',
'granularity' =>
array (
'year' => 'year',
'month' => 'month',
),
'default_format' => 'medium',
'tz_handling' => 'none',
'timezone_db' => 'Europe/Dublin',
'op' => 'Save field settings',
'module' => 'date',
'widget_module' => 'date',
'columns' =>
array (
'value' =>
array (
'type' => 'varchar',
'length' => 20,
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'medium',
'exclude' => 0,
),
'full' =>
array (
'format' => 'long',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
7 =>
array (
'label' => 'Genre',
'field_name' => 'field_release_genre',
'type' => 'text',
'widget_type' => 'optionwidgets_select',
'change' => 'Change basic information',
'weight' => '2',
'description' => 'Specify the genre',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_genre' =>
array (
'value' => '',
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Classical
Blues
Brass & Military
Children\'s
Classical
Electronic
Folk, World, & Country
Funk / Soul
Hip-Hop
Jazz
Latin
Non-Music
Pop
Reggae
Rock
Stage & Screen
Spoken word',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '2',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
8 =>
array (
'label' => 'Shop link',
'field_name' => 'field_release_shop_link',
'type' => 'link',
'widget_type' => 'link',
'change' => 'Change basic information',
'weight' => '3',
'description' => 'Specify an individual shop link (e.g. a direct link to buy the album on Amazon or iTunes)',
'default_value' =>
array (
0 =>
array (
'title' => '',
'url' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_shop_link' =>
array (
0 =>
array (
'title' => '',
'url' => '',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'url' => 0,
'title' => 'optional',
'title_value' => '',
'display' =>
array (
'url_cutoff' => '80',
),
'attributes' =>
array (
'target' => 'default',
'rel' => '',
'class' => '',
),
'op' => 'Save field settings',
'module' => 'link',
'widget_module' => 'link',
'columns' =>
array (
'url' =>
array (
'type' => 'varchar',
'length' => 255,
'not null' => false,
'sortable' => true,
),
'title' =>
array (
'type' => 'varchar',
'length' => 255,
'not null' => false,
'sortable' => true,
),
'attributes' =>
array (
'type' => 'text',
'size' => 'medium',
'not null' => false,
),
),
'display_settings' =>
array (
'weight' => '2',
'parent' => 'group_release_shop_links',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
9 =>
array (
'label' => 'Shop Links',
'field_name' => 'field_release_shop_links',
'type' => 'text',
'widget_type' => 'text_textarea',
'change' => 'Change basic information',
'weight' => '4',
'rows' => '2',
'size' => 60,
'description' => 'Insert multiple shop links using HTML tags.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_shop_links][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_shop_links' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_shop_links][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '3',
'parent' => 'group_release_shop_links',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
10 =>
array (
'label' => 'Songs',
'field_name' => 'field_release_songs',
'type' => 'filefield',
'widget_type' => 'filefield_widget',
'change' => 'Change basic information',
'weight' => '1',
'file_extensions' => 'mp3',
'file_path' => 'discography_audio_previews',
'max_filesize_per_file' => '',
'max_filesize_per_node' => '',
'description' => 'Upload song previews in mp3 format.',
'group' => false,
'required' => 0,
'multiple' => '1',
'list_field' => '0',
'list_default' => 1,
'description_field' => '0',
'op' => 'Save field settings',
'module' => 'filefield',
'widget_module' => 'filefield',
'columns' =>
array (
'fid' =>
array (
'type' => 'int',
'not null' => false,
),
'list' =>
array (
'type' => 'int',
'size' => 'tiny',
'not null' => false,
),
'data' =>
array (
'type' => 'text',
'serialize' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => '',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
);
$content['extra'] = array (
'title' => '-5',
'body_field' => '-2',
'menu' => '-1',
);
follow up..
Hi guys,
I've had to jump out of this module dev. temporarily. Although, just as a quick update, here's a concise list of recommended modules (Drupal version 6.x) that I have arrived at after trying out numerous variations of similar and related modules. The list may appear very long, but, if you already have CCK and VIEWS enabled, you only need to download a few more.
A rough demo is here: http://d69.dublindrupaller.com/discography
If you want a login to test out the submission process for releases...just drop me an email .
If you have the time, some feedback would be great so I can fine tune other people's needs in the discography.module. Things to do include a tidy solution for lyrics.
cheers
Dub
CCK MODULE & ADD-ONS
=========================
Content
Content Copy
Fieldgroup
FileField
FileField Meta
ImageField
LINK
Text
Option Widgets
Number
Date module & add-ons
======================
Date
Date API
Date Timezone
OTHER MODULES
=================
getID3()
VIEWS MODULES
==============
Views
Views exporter
Views UI
Once the above modules are enabled, you can use the following snippet to generate the RELEASE content (A release can be an album, single etc.)
soundmanager2
Hi guys.
Quick addendum to the previous post re: soundmanager2 integration as demonstrated here: http://d69.dublindrupaller.com/discography
The following assumes you're using the snippet_release_content_import.txt file attached to my earlier post to generate the
releasecontent type. Works with Drupal 6.0.Step 1 of 6
http://www.dublindrupaller.com/zipped/smanager2stuff.zip
Download, uncompress the above zip and upload the /smanager/ folder to your server. It contains all the javascript, flash and css for your soundmanager2 player. The other files in the zip file (.tpl.php files) are for use/reference for the following steps.
Step 2 of 6
Copy the following into the HEAD of your theme's page.tpl.php file and edit the path to the folder you uploaded the contents of step 1
<style type="text/css" media="all">@import "http://www.example.com/smanager/discography.css";</style><script type="text/javascript" src="http://www.example.com/smanager/soundmanager2.js"></script>
<script type="text/javascript" src="http://www.example.com/smanager/page-player.js"></script>
Note: If you upload it to a different directory to /smanager/ in your root folder..you will need to edit line 26 in page-player.js. i.e.
sm.url = '/smanager/'; // path to directory containing SM2 SWFAlso...you can use a simple php check to restrict the soundmanager2 player to just one content type...here's an example:
<?php if ($node->type == 'release') { ?> // where release is the name of your discography content type.<style type="text/css" media="all">@import "http://www.example.com/smanager/discography.css";</style>
<script type="text/javascript" src="http://www.example.com/smanager/soundmanager2.js"></script>
<script type="text/javascript" src="http://www.example.com/smanager/page-player.js"></script>
<?php } ?> // end the PHP check.
If you're unsure where in the page.tpl.php file to paste that, I put it just before the closing
</head>statement.Step 4 of 6
Make a copy of your default node.tpl.php file, rename it to node-release.tpl.php and copy the following snippet into the bottom of the node-release.tpl.php file. (or if you called your content type something other than "release" rename it appropriately.)
<!-- start of player controller -->
<div id="control-template">
<!-- control markup inserted dynamically after each link -->
<div class="controls">
<div class="statusbar">
<div class="loading">
</div>
<div class="position">
</div>
</div>
</div>
<div class="timing">
<div id="sm2_timing" class="timing-data">
<span class="sm2_position">%s1
</span> /
<span class="sm2_total">%s2
</span>
</div>
</div>
<div class="peak">
<div class="peak-box">
<span class="l">
</span>
<span class="r">
</span>
</div>
</div>
</div>
<div id="spectrum-container" class="spectrum-container">
<div class="spectrum-box">
<div class="spectrum">
</div>
</div>
</div>
<!-- end of player controller -->
The above is required by the soundmanage2 javascript to activate the player.
Step 5 of 6
Rename the attached content-field-field_release_songs-release.tpl.php.txt file to content-field-field_release_songs-release.tpl.php and upload it to your default theme folder. That file creates the wrapper for each song that loads the soundmanager player.
Note: if you didn't use the snippet attached to the previous post, or if you have used a different field name for song uploads while generating your content type, you will need to rename the tpl.php file to content-field-your_field_name-contenttypename.tpl.php.txt Where
your_field_nameis the name of the cck field you used for song uploads when creating your content type andcontenttypenameis the name of the content type. In the discography demo I posted earlier, the content type was calledreleaseand the field name was calledfield_release_songs. You can double check what yours is called by going to CONTENT TYPES-> EDIT CONTENT TYPE NAME -> MANAGE FIELDS.Step 6 of 6
Edit the discography.css file to change the colour of the flash player to suit. There are lots more options at the top of the page-player.js and soundmanager2.js. Refer to the soundmanager2 site for more details.
Like I said earlier..I had to pull out of finishing off the discography.module for a while, but, since I've got more than a few emails asking for soundmanager2 integration..I thought it better to post.
hope that's of use to others.
Dub
p.s. if you find this thread useful, you'll find this thread even more helpful: http://groups.drupal.org/node/21648
theme thing
one thing I forgot to mention..when you upload the wotsitsname_field.tpl.php file..I remember I had difficulty getting the theme to pick it up. If you go to ADMIN -> SITE BUILDING -> THEMES -> [your current theme] -> CONFIG and save it (without making any changes) that appears to "reset" the theme and it will pick up the field override. it may have been a problem with my installation..I can't remember and didnt have time to dig into it, so if you are having difficulties getting the field overrides to be picked up, try that.
Dub
other field name ? change content-field-your_field_name-...
If you use an other field name, don't forget to change content-field-your_field_name-contenttypename.tpl.php on line 43 $node->field_release_songs[$track]['filename'] to $node->field_your_field_name[$track]['filename'].
Otherwise you don't see any trackname.
groups.drupal.org not showing previous post..
here's the snippet I mentioned earlier.....for generating the release content type. for some reason groups.drupal.org is blanking out the earlier "follow up" post with this in it. hopefully this will work
$content['type'] = array (
'name' => 'Release',
'type' => 'release',
'description' => 'Add a new release to the site Discography.',
'title_label' => 'Release title',
'body_label' => 'Release Info',
'min_word_count' => '0',
'help' => '',
'node_options' =>
array (
'status' => true,
'promote' => true,
'sticky' => false,
'revision' => false,
),
'old_type' => 'release',
'orig_type' => '',
'module' => 'node',
'custom' => '1',
'modified' => '1',
'locked' => '0',
'comment' => '0',
'comment_default_mode' => '4',
'comment_default_order' => '1',
'comment_default_per_page' => '50',
'comment_controls' => '3',
'comment_anonymous' => 0,
'comment_subject_field' => '1',
'comment_preview' => '1',
'comment_form_location' => '0',
);
$content['groups'] = array (
0 =>
array (
'label' => 'Release Details',
'group_type' => 'standard',
'settings' =>
array (
'form' =>
array (
'style' => 'fieldset',
'description' => '',
),
'display' =>
array (
'description' => '',
'teaser' =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'full' =>
array (
'format' => 'no_style',
'exclude' => 0,
),
4 =>
array (
'format' => 'fieldset',
'exclude' => 0,
),
'label' => 'above',
),
),
'weight' => '-3',
'group_name' => 'group_release_details',
),
);
$content['fields'] = array (
0 =>
array (
'label' => 'Artwork',
'field_name' => 'field_release_artwork',
'type' => 'filefield',
'widget_type' => 'imagefield_widget',
'change' => 'Change basic information',
'weight' => '-4',
'file_extensions' => 'jpg jpeg png gif',
'file_path' => '',
'max_filesize_per_file' => '',
'max_filesize_per_node' => '',
'max_resolution' => '301x301',
'min_resolution' => 0,
'custom_alt' => 1,
'alt' => 'Release cover',
'custom_title' => 0,
'title' => '',
'description' => 'Upload the release artwork (300 x 300 pixels)',
'group' => false,
'required' => 0,
'multiple' => '0',
'list_field' => '0',
'list_default' => 1,
'description_field' => '0',
'op' => 'Save field settings',
'module' => 'filefield',
'widget_module' => 'imagefield',
'columns' =>
array (
'fid' =>
array (
'type' => 'int',
'not null' => false,
),
'list' =>
array (
'type' => 'int',
'size' => 'tiny',
'not null' => false,
),
'data' =>
array (
'type' => 'text',
'serialize' => true,
),
),
'display_settings' =>
array (
'weight' => '-4',
'parent' => '',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'image_plain',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
1 =>
array (
'label' => 'Artist',
'field_name' => 'field_release_artist',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '-4',
'rows' => 5,
'size' => '60',
'description' => '',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_artist][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_artist' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_artist][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-4',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
2 =>
array (
'label' => 'Release type',
'field_name' => 'field_release_type',
'type' => 'text',
'widget_type' => 'optionwidgets_select',
'change' => 'Change basic information',
'weight' => '-3',
'description' => 'Specify the type of release you are adding to the site Discography.',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_type' =>
array (
'value' => '',
),
),
'group' => 'group_release_details',
'required' => 1,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Album
Single
EP
other',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-3',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
3 =>
array (
'label' => 'Release format',
'field_name' => 'field_release_format',
'type' => 'text',
'widget_type' => 'optionwidgets_buttons',
'change' => 'Change basic information',
'weight' => '-2',
'description' => 'Specify the release format.',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_format' =>
array (
'value' =>
array (
'' => 1,
'Cassette' => false,
'Compact Disc' => false,
'DAT' => false,
'Download' => false,
'DVD' => false,
'Flash Drive' => false,
'Vinyl' => false,
'Other' => false,
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '1',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Cassette
Compact Disc
DAT
Download
DVD
Flash Drive
Vinyl
Other
',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-2',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
4 =>
array (
'label' => 'Release UPC',
'field_name' => 'field_release_upc',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => '-1',
'rows' => 5,
'size' => '60',
'description' => 'Specify the Unique Product Code for the release.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_upc][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_upc' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_upc][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '-1',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
5 =>
array (
'label' => 'Record Label',
'field_name' => 'field_release_label',
'type' => 'text',
'widget_type' => 'text_textfield',
'change' => 'Change basic information',
'weight' => 0,
'rows' => 5,
'size' => '60',
'description' => 'Specify the name of the Record Label.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_label][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_label' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_label][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => 0,
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
6 =>
array (
'label' => 'Release date',
'field_name' => 'field_release_date',
'type' => 'date',
'widget_type' => 'date_select',
'change' => 'Change basic information',
'weight' => '1',
'default_value' => 'blank',
'default_value2' => 'same',
'default_value_code' => '',
'default_value_code2' => '',
'input_format' => 'j M Y - H:i:s',
'input_format_custom' => '',
'year_range' => '-23:+1',
'increment' => '1',
'advanced' =>
array (
'label_position' => 'above',
'text_parts' =>
array (
'year' => 0,
'month' => 0,
'day' => 0,
'hour' => 0,
'minute' => 0,
'second' => 0,
),
),
'label_position' => 'above',
'text_parts' =>
array (
),
'description' => '',
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'repeat' => 0,
'todate' => '',
'granularity' =>
array (
'year' => 'year',
'month' => 'month',
),
'default_format' => 'medium',
'tz_handling' => 'none',
'timezone_db' => 'Europe/Dublin',
'op' => 'Save field settings',
'module' => 'date',
'widget_module' => 'date',
'columns' =>
array (
'value' =>
array (
'type' => 'varchar',
'length' => 20,
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'medium',
'exclude' => 0,
),
'full' =>
array (
'format' => 'long',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
7 =>
array (
'label' => 'Genre',
'field_name' => 'field_release_genre',
'type' => 'text',
'widget_type' => 'optionwidgets_select',
'change' => 'Change basic information',
'weight' => '2',
'description' => 'Specify the genre',
'default_value' =>
array (
0 =>
array (
'value' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_genre' =>
array (
'value' => '',
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => 'Classical
Blues
Brass & Military
Children\'s
Classical
Electronic
Folk, World, & Country
Funk / Soul
Hip-Hop
Jazz
Latin
Non-Music
Pop
Reggae
Rock
Stage & Screen
Spoken word',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'optionwidgets',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '2',
'parent' => 'group_release_details',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
8 =>
array (
'label' => 'Shop link',
'field_name' => 'field_release_shop_link',
'type' => 'link',
'widget_type' => 'link',
'change' => 'Change basic information',
'weight' => '3',
'description' => 'Specify an individual shop link (e.g. a direct link to buy the album on Amazon or iTunes)',
'default_value' =>
array (
0 =>
array (
'title' => '',
'url' => '',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_shop_link' =>
array (
0 =>
array (
'title' => '',
'url' => '',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'url' => 0,
'title' => 'optional',
'title_value' => '',
'display' =>
array (
'url_cutoff' => '80',
),
'attributes' =>
array (
'target' => 'default',
'rel' => '',
'class' => '',
),
'op' => 'Save field settings',
'module' => 'link',
'widget_module' => 'link',
'columns' =>
array (
'url' =>
array (
'type' => 'varchar',
'length' => 255,
'not null' => false,
'sortable' => true,
),
'title' =>
array (
'type' => 'varchar',
'length' => 255,
'not null' => false,
'sortable' => true,
),
'attributes' =>
array (
'type' => 'text',
'size' => 'medium',
'not null' => false,
),
),
'display_settings' =>
array (
'weight' => '2',
'parent' => 'group_release_shop_links',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
9 =>
array (
'label' => 'Shop Links',
'field_name' => 'field_release_shop_links',
'type' => 'text',
'widget_type' => 'text_textarea',
'change' => 'Change basic information',
'weight' => '4',
'rows' => '2',
'size' => 60,
'description' => 'Insert multiple shop links using HTML tags.',
'default_value' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_shop_links][0][value',
),
),
'default_value_php' => '',
'default_value_widget' =>
array (
'field_release_shop_links' =>
array (
0 =>
array (
'value' => '',
'_error_element' => 'default_value_widget][field_release_shop_links][0][value',
),
),
),
'group' => 'group_release_details',
'required' => 0,
'multiple' => '0',
'text_processing' => '0',
'max_length' => '',
'allowed_values' => '',
'allowed_values_php' => '',
'op' => 'Save field settings',
'module' => 'text',
'widget_module' => 'text',
'columns' =>
array (
'value' =>
array (
'type' => 'text',
'size' => 'big',
'not null' => false,
'sortable' => true,
'views' => true,
),
),
'display_settings' =>
array (
'weight' => '3',
'parent' => 'group_release_shop_links',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
10 =>
array (
'label' => 'Songs',
'field_name' => 'field_release_songs',
'type' => 'filefield',
'widget_type' => 'filefield_widget',
'change' => 'Change basic information',
'weight' => '1',
'file_extensions' => 'mp3',
'file_path' => 'discography_audio_previews',
'max_filesize_per_file' => '',
'max_filesize_per_node' => '',
'description' => 'Upload song previews in mp3 format.',
'group' => false,
'required' => 0,
'multiple' => '1',
'list_field' => '0',
'list_default' => 1,
'description_field' => '0',
'op' => 'Save field settings',
'module' => 'filefield',
'widget_module' => 'filefield',
'columns' =>
array (
'fid' =>
array (
'type' => 'int',
'not null' => false,
),
'list' =>
array (
'type' => 'int',
'size' => 'tiny',
'not null' => false,
),
'data' =>
array (
'type' => 'text',
'serialize' => true,
),
),
'display_settings' =>
array (
'weight' => '1',
'parent' => '',
'label' =>
array (
'format' => 'above',
),
'teaser' =>
array (
'format' => 'default',
'exclude' => 0,
),
'full' =>
array (
'format' => 'default',
'exclude' => 0,
),
4 =>
array (
'format' => 'default',
'exclude' => 0,
),
),
),
);
$content['extra'] = array (
'title' => '-5',
'body_field' => '-2',
'menu' => '-1',
);
just a small request
First of all , thanks for all the effort you put to deliver this !
It would be nice to get optionally a link for the label text (like "shop link"). Maybe it's just me , but I find it really useful to check at once the label the artist/band is signed. Also a "demo" release type can be added!
Personally I would also add another optional cck field for the credits (sound engineer(s), artwork artist,studio recorded etc.) but this might be too much for a generic public release!
I will get more into discussion once I find the time to do a test site! Thanks once again!
CCK fields
I would like to use these fields also, but perhaps these should be CCK fields that are added to the content type by the admin. My reasoning behind this is that there is no universal field type. Is it text? A URL? What if it's a node reference, or a user reference?
There's a rough example of this scenario here:
http://www.the-dregs.net/music/thankyousirmayihaveanother
I'd suggest leaving these fields out of the Discography module, and simply allowing the admin to add them manually later on.
i like the idea of credits..
I like the idea of a featured musicians and an "acknowledgement & credits" field...which could fall below the audio previews. I think it should be a filtered html box...because you never know how lengthy the text would be and it allows for inserting hrefs to musician/engineers/studios. Similar to how last.fm tries to cross link as much information as possible.
Whether it's included in the module itself or not, is another question...I think maybe it should be there as an optional field, so an admin still has discression.
Final development of this module will probably happen in may. so I'll keep you guys posted.
dub
update
While not distracting from the core discussion, I just wanted to highlight the following poll here:
http://groups.drupal.org/node/21648#comment-75000
It asks the question "Which is better: a music distribution for Drupal or seperate modules?"
Dub
One more thing!
Some artists might want to get all song previews from a release and this is ok. But others might want to upload few full songs and not anything else (no audio preview). So the way I see it, tracklist shall not be generated from the audio files (getID3) exclusively . There should be an option to just write the tracklist and -optionally- provide the corresponded audio file. Merely a suggestion !
understood..
I think I understand what you're saying.
In that situation, the site editor has the ability to insert the full tracklisting in the "release info." field in text and/or include a few uploaded songs as previews, which are displayed below the full track listing.
dub
Here is what I mean
I'm sure you are aware of this site :)
A good example is the the4ofus.com/fingerprints for the layout!
Exactly what I'm looking for :)
Dub,
Thanks a million for posting up the tutorial for the discography and the soundmanager2 integration. I've been getting to grips with Drupal and this is exactly what I am trying to achieve. I look forward to trying this out over the weekend :D
One quick question:
Where you mention "The following assumes you're using the snippet_release_content_import.txt file attached to my earlier post to generate the release content type." sorry for the overly newbie question but where do I put this .txt file to generate the release content type?
Thanks again for all the hard work you put into this, its a steep learning curve but I'm learning as I go along :D
sullen_penguin
no problem
if you go back to the post with the attachment..there's a list of modules you need enabled. Once you have them installed and enabled, there is an IMPORT option with CCK that allows you to paste in the snippet_release_content_import.txt stuff....which automatically generates the discography content type for you.
hope that makes sense..
incidentally...it maybe worth browing this thread http://groups.drupal.org/node/21648
Which is basically an idea to automate (to a point) the setup of a music site using drupal. In other words, when you're downloading drupal...you also download related modules ideal for a music website. So you don't have to visit each individual module project page...download them..upload them etc. you just downlaod 1 file with the features you want included.
dub
thanks Dub
I'm going to give all that a try now tomorrow and see how I get on, I'd love to get a working discography up and running this weekend and I'm a lot clearer on it now thanks to your explanation on using IMPORT with CCK.
I've been following the thread you mentioned very closely, sounds like there is some really interesting and exciting developments going on there, looking forward to see this one develop.
sullen_p
I alMOST GOT it ITS PERFECT! Except......BUT WAIT I GOT IT
"Not Found
The requested URL /sites/default/files/discography_audio_previews/Joe's Garage_0.mp3 was not found on this server."
Everything looks absolutely wonderful, the player comes up , the art, the song it in the default files place, everything, I am almost there. HERE IT IS LIVE AND NOW THE PLAYER IS not loading somewhere, path is "http://site.com/smmanager/file.js"
And no dice on the player for http://1.willieandrenee.info/content/test-file
IF ANY NEWBIES ARE WONDERING:...
the file in the smmanager zip file above from The Mr. Dub you must go into the .js file and edit line 26 from '/js/' to '/smanager/' and now its working.!
glad u got itworking
hi Lisa,
Glad you got it working. minor thing: that rename thing is in the step by step approach I posted earlier.
also..don't forget that you can change the colour of the flash using discography.css so you have complete control over the look of your player.
dub
LocalHost? Any SUggestions
I have attempted to get the thing working locally and i am not sure yet from where it is being called to go straight to "sites/all/..."to find the music file, but I cannot get it as of today to work locally, I know it works live so its not necessary but if there is a work around this would be nice to know but not essential.
Small problem getting the modules installed..
Hey guys I'm having a go at setting this up, all required modules are installed correctly but for the getID3() one I had to download the library to go with it which I extracted into the directory that getID3() is installed. Now I'm getting the following messages and don't know if they are ok or not:
To use this module you'll need to download the library from the getID3 website and extract the contents into the module's getid3 directory. Currently, the recommended version of the getID3 library is 1.7.7.
Then further down:
getID3()
Path:
sites/all/modules/getid3/getid3
The location where getID3() is installed. Relative paths are from the Drupal root directory.
Version:
1.7.7
If you're seeing this it indicates that the getID3 library was found.
Not sure if thats ok as its saying at the top I need the library in a blue box but down further its saying it has found it :S
little confused here, any suggestions?
get id3
you have to take it out of the folder that it was downloaded in, the library part cuz theres like two folders inside the main one all called get id3 see the photo Hope this helps
Thanks lmfisher100
I followed as you suggested and took the contents out of the get id3() folder that is containted within the get id3() library folder and added those files to the same location where getid 3() is installed so basically everything is in the one folder. I'm hoping everything is ok - I have attached a screenshot of what displays when I enter the get id3() configuration screen in the modules section..one of you guys might be able to confirm if that looks ok. Just want to make sure all the background setup is set up right to minimize any trouble I have giving the discography a go today :)
sullen_penguin
looks ok
lmfisher100[at]hotmail.com if somehting goes madly awry
Thanks again
Thanks for that, Gonna give the discography a whirl now that it looks like I've all the background bits & pieces in place :D
now on to views....
how would the view be called to trigger the SM in a view? SELF REPLY:
Cannot get the SMplayer to trigger in views but can get the beautiful album layout from DUb and then link the picture to the node, http://d69.dublindrupaller.com/discography
views export
Here's a copy of the views export from the d69.dublindrupaller.com/discography example.
IMPORTANT NOTE: This assumes you are using Drupal 6.x and have imported the Discography (release content type) - CCK import snippet I posted earlier in this thread - the fieldnames are picked up by views.
To install this view follow these steps:
Step 1 of 2
Go to ADMIN -> SITE BUILDING -> VIEWS and select IMPORT.
Step 2 of 2
Give the view a name and paste the following snippet into the text area provided. If I remember correctly, the view also creates a menu link, so if you already have a URL alias for 'discography' it may cause issues.
$view = new view;$view->name = 'Discography';
$view->description = 'discography';
$view->tag = 'discography';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'discography', 'default');
$handler->override_option('fields', array(
'field_release_artwork_fid' => array(
'label' => 'Artwork',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_node' => 0,
'label_type' => 'widget',
'format' => 'image_nodelink',
'multiple' => array(
'group' => TRUE,
'multiple_number' => '',
'multiple_from' => '',
'multiple_reversed' => FALSE,
),
'exclude' => 0,
'id' => 'field_release_artwork_fid',
'table' => 'node_data_field_release_artwork',
'field' => 'field_release_artwork_fid',
'relationship' => 'none',
),
'title' => array(
'label' => 'Title',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
'field_release_upc_value' => array(
'label' => 'Release UPC',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_node' => 0,
'label_type' => 'widget',
'format' => 'plain',
'multiple' => array(
'group' => TRUE,
'multiple_number' => '',
'multiple_from' => '',
'multiple_reversed' => FALSE,
),
'exclude' => 0,
'id' => 'field_release_upc_value',
'table' => 'node_data_field_release_upc',
'field' => 'field_release_upc_value',
'relationship' => 'none',
),
'field_release_date_value' => array(
'label' => 'Release date',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_node' => 0,
'label_type' => 'widget',
'format' => 'long',
'multiple' => array(
'multiple_number' => '',
'multiple_from' => '',
'multiple_to' => '',
'group' => TRUE,
),
'repeat' => array(
'show_repeat_rule' => '',
),
'fromto' => array(
'fromto' => 'both',
),
'exclude' => 0,
'id' => 'field_release_date_value',
'table' => 'node_data_field_release_date',
'field' => 'field_release_date_value',
'relationship' => 'none',
),
));
$handler->override_option('sorts', array(
'field_release_date_value' => array(
'order' => 'ASC',
'delta' => -1,
'id' => 'field_release_date_value',
'table' => 'node_data_field_release_date',
'field' => 'field_release_date_value',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('title', 'Discography');
$handler->override_option('use_pager', '1');
$handler->override_option('use_more', 0);
$handler->override_option('style_plugin', 'table');
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('path', 'discography');
$handler->override_option('menu', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
'name' => 'navigation',
));
$handler->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => 0,
));
hope that's of use to others.
Dub
Some suggestions
I like this module. I'm working on a project that I haven't started yet, but it is very similar.
I'm doing research to determine whether to start from scratch using only PHP, or use Drupal and build a custom module.
It looks like this could potentially work for me with a bit of customization.
I would highly recommend you include catalog number as this would be a good key for the audio files.
I have just put in a feature request to have soundcloud added as a provider to the Embedded Audio Field.
Any idea on when you have a dev version available for release? Is there a project page for this project yet?
Symetrik Design
Drupal Consulting
http://www.symetrkdesign.com
is it possible to put lyrics
is it possible to put lyrics ?? it will be nice if we can adding a lyric
Quick Question-smmanager in a sub folder EDITED! SOLVED
www.site.com/realsite
smmanager and drupal install is in real site and i know its here somewhere page-player.js?
to edit the files to avaoid the 404. I LOVE SM manager. but will load in a main site until a response, thank you. 404 DUE TO SPACES IN THE SOUND FILES, ALL SOUND FILES MUSIT BE ONE WORD WITH UNDERSCORES ONLY, NO SPACES.
Excited and interested
Hi! I just found the thread of the discography module and I am interested in trying it, besides of contributing with some code I could make.
Thanks a lot for the module.
Best regards,
David.
css discography file- Assist with changing code, anyone?
Not a csser and i was wondereing, how to replace the alternate theme codes here at lines 686, 642, and 563, and to use it where the code is, ( i imagine you use it around lines 134-288, but I am unfamiliar with how to call it, any assistance is helpful, thank you, attached is the file, had to make it a .txt file to upload it. this file is found in the above sound manager file, that dub previous uploaded,
...
hi lmfisher100,
open the
content-field-field_release_songs-(your content type name).tpl.phptheme file that comes with the soundmanager download zip. search for the following line:<ul class="playlist">It should be around line number 34 or 35 and change it to
<ul class="playlist bubblegum">or
<ul class="playlist gold">or
<ul class="playlist dark">More info. and demos of the different themes are here: http://www.schillmania.com/projects/soundmanager2/demo/page-player/
you could edit the discography.css file, but you might find it easier to play around with the different themes by editing the UL class in the tpl.php file.
hope that helps
dub
KIND THANKS, Thats Freakin it, Light on
KIND THANKS, Thats Freakin it, i get it it all makes sense, the lightbulb is suddenly on!!, I may make some sights with the SM, how do i autograph it for you and where should i link it to , etc
..
you're welcome.
I can't claim any credit for the sound manager thing. I just cobbled together a way of integrating it into drupal. There's probably a more elegant way of doing it, but, it works.
Nice album by the way. As a tip (I notice you have full track previews up there), it's better to put up 80% previews rather than full tracks. Fans won't be insulted/offended...they'll understand. It's just getting way too easy to snag streams from websites now.
cheers
dub
CSS/ Swf Player not loading
Guys, I really need your help on this one, been playing with it for a few weeks now.
I can't seem to get the swf player to load. The songs are displayed and can play, but the css doesn't seem to be getting picked up.
I have followed the instuctions to every word.
Screenshot is sattached.
Thanks in advance
emailed
just dropped you an email Chileshe.
from the screenshot it looks like the css and js is not being picked up. probably a simple paths issue.
Click on VIEW SOURCE when looking at the page in your browser and make sure the links to the js and discography.css are in the HEAD of your html doc.
If not...double check what you have put into your page.tpl.php and do the usual of going to SITE CONFIGURATION -> PERFORMANCE and clearing cache, in case your theme is spitting out a cached version.
dub
Thanks for the response. The
Thanks for the response.
The source shows the correct information in the head , the js and css are both there.
The page.tpl.php looks ok. Also cleared cache, no effect at all.
..
not sure if the drupal.org contact form is working. I've sent you two emails now. Can you try sending me an email on the offchance you're not getting them? All I need is a link so I can have a quick look. It's difficult to guess what the problem might be.
Sorry about that, I did send
Sorry about that, I did send the email about 5 mins after you. Gonna email you again just now.
..
hi Chileshe,
thanks. gottit and just logged in. you're almost there. if you click on a track you can see the player working. What's missing is the theming in the
content-field-field_release_songs-release.tpl.phpfile.I see you have followed the same naming convention, so the file name should remain the same i.e.
content-field-field_release_songs-release.tpl.phpDouble check that you have uploaded all the necessary files to the theme folder and they are named correctly. Some themes need to be "reset" or refreshed, so to speak, to pick up extra tpl.php files. Try switching to another theme on your theme settings page...load the discography page and then switching back to your live theme and trying again. sounds stupid, I know, but, I remember someone posting something about theme issues like that before and the solution was to change themes around to "reset" the theme.
hope that works for you.
dub
Finally got there in the
Finally got there in the end.
The problem was that I did'nt upoad the content-field.tpl.php to my theme, I don't think this has been mentioned in the instructions above, or maybe I just missed it.
Big thanks to dub for pointing me in the right direction.
Thank you!
I love the work you've done here, and am following your progress on the other thread about music sites. I've hosted a band related site for more than 10 years and am in the process of switching to Drupal, and your example here has given me a quick understanding of some of the necessary features to do the things I'm looking for.
I do have a few questions/comments:
1) Your module list includes getid3 - but I'm not seeing it used. Likely you just haven't implemented that feature yet? It took me a few minutes to get it properly installed but it doesn't appear to do anything for this demo. Looks like it could make creation of the discography easy if implemented!
2) If this were created as a true "module", would it still require uploading files to the theme folder. While it is simple to do, it does confuse me a bit about the value of themes. As I am just starting out, I haven't decided on a theme, but installed this in my current default theme. As I understand it, I will have to put those same files in any/every theme I want to test/use? Does drupal have a "default" location these types of files could be located regardless of the theme chosen?
3) Earlier it was suggested that full tracklisting would be nice, and I have to agree with them. While your solution (putting it in release info) would work, it lacks some of the "power" that a "discography" could have. One thing I am wanting to create is a "Song" content type, which could then list all of the albums that song is available on (ie live or compilation releases), in addition to such things as recording/author/publishing information. I have a lot to learn! :)
4) I still have some CSS/theming to learn - because of the theme I'm using I think that I'm not getting the proper results. When the song is playing, the title disappears if I move the cursor off of it. I'll have to try it with other themes, and see what I'm missing....but it is cool!!!!
I've got a LOT to learn switching to a new CMS - but I love Drupal, and your example has given me a good understanding of the basics. Off to learn some more! Thanks again and keep up the great work!!
1) getid3. oops. you're
1) getid3. oops. you're right. not necessary for the snippet. it was intended for the final module where it would be used to pull the album name, track name and number from an import. so labels with sizeable catalogue could import their discography.
2) Nope. the themeing could be done from within the module. the above was just a stop gap because dev. was put on hold.
3) An older incarnation of a Drupal discography I did for a band in Ireland allowed you to click through to the song level, displaying the various albums/singles/eps a particular song appear on and displaying the lyrics. Or you can sort by year as well. That was driven by the audio.module and views.module.
4) If you go to discography.css in the smanager folder, you have full control over the colours and sizes of the player which is great.
hope that helps
dub
sm2 formatter for cck filefield
Hi! I am working on a formatter for CCK which I expect to have it ready in about less than two weeks. The options will be either choose between the page player or the 360 player (I have kind of running just the 360 by now though)
I will upload the project as soon as possible.
One other thing, there is a patch for filefield to get getid3 information stored in "metadata" which I currently do not remember where it is, but it would be really nice to have it commited to main branch.
interesting
That 360 player is interesting (360 player demo). I wonder if the annotation/meta data version allows you to include Lyrics.
dub
This visualization is great,
This visualization is great, but I am having problems using same canvas for several items.
You may use anotations also in the page-player too.
One other thing, I am thinking of having song nodes instead of release nodes, (or not instead but additional to) and the release being either a view, or a node with reference to their songs. This way, one can have much more information for each track and then be added together to the release.
Sound Manager 2 formatter: I
Sound Manager 2 formatter:
I just uploaded a module for formatting a filefield field with the soundmanager2 player:
http://drupal.org/project/soundmanager2
So there is no need to follow the steps in http://groups.drupal.org/node/19309#comment-78398.
Just enable the module, and select "soundmanager2" as formating of the songs field.
..
great work Dave.
just one minor thing. Can you double check that it's okay that the soundmanager2 stuff is okay to put up on cvs.drupal.org? It's released under a BSD license which I think is okay and complies with cvs.Drupal.org policy but it's worth double checking...
dub
I am afraid you are right,
I am afraid you are right, BSD license is wider than gpl, but I do not know if it can be "relicensed". Maybe it's better to put instructions on how to download sm2 and include them to the project.
This node explains that: http://drupal.org/node/422996
..
I don't think it is a big problem to link to the sm2 download....Drupallers are used to doing that anyway with lots of other module..plus it means they will be getting the latest version as they install the module, so any bug fixes/improvements will be included.
that's my 2.0 cents although it might be worth dropping into the #drupal-dev or #drupal IRC channel to see if any other module developers have come across a similar situation to see how they handled it.
Like I say..it's minor thing. From a discography point of view, it reduces significantly the amount of steps involved in setting one up..so it's a very useful module.
dun
I just commited the version
I just commited the version without the sm2 included, and added some modifications and simple instructions to download the soundmanager2.
I think it's better now.
I am afraid you are right,
I am afraid you are right, BSD license is wider than gpl, but I do not know if it can be "relicensed". Maybe it's better to put instructions on how to download sm2 and include them to the project.
This node explains that: http://drupal.org/node/422996
So what do you think?
(oops, sorry I posted this twice)
I just commited to the
I just commited to the 1.x-dev version of the soundmanager2 module a new features.
Whe using cck fields for referencing audio nodes, you may choose the file as the attached audio and render ir with soundmanager 2. (choose "Audio integration. Soundmanager2")
hi there....i already install
hi there....i already install this module using this tutorial, and its really...really i want, but i wondering how can i add the lirik link ?? thanks for this amateur question, because i already trying with node reference but still can not fix it...thanks
I am wondering if there is
I am wondering if there is any news on this module. I have upgraded soundmanager2 with 2 players ui360 and page-player, and integrates with audio.module and filefield.
is there any change to make this work with swftools
is there any change to make this work with swftools [ http://drupal.org/project/swftools ] because i like more style of the palyer compare with soundmanager2 ........
Preventing file download
is there any option to prevent the file download option box poping up on the player - i have the player working fine but when you click to play i get the pop up box to open or save file?
thanks....
..
I didn't notice that. are you using the audio.module + soundmanager2.module? if so, there's an option on the admin -> audio settings page to disable "download file" for audio. You will need to edit the audio nodes to disable that check box if that's the case. A quick way of doing that is to go to admin -> content and filter nodes by type (audio) and edit each one.
hope that helps
dub
...
No i set up using discography set up as above: cck/views + soundmanager2
Am thinking i will give the audio module a go - with what i want the player to do....any direction as to creating an audio.module set up similar to this layout?
thanks
carl
audio.module is unstable
i was playing around with the audio.module yesterday and it's not working properly. wouldn't recommend it at the moment.
based on your earlier post. I think you're almost there with the setup if you're not using the soundmanager2.module....if your site is prompting you to download the mp3 file instead of playing it...it sounds like it's not picking up the JS properly. Can you email me a link to your site so I can have a quick look?
dub
SUB DOMAIN and Page.tpl.php -Hi Dublin Drupaller-
Dub I was wonderin, if in a subdomain like here
http://genral.mymusicweb.info/content/genral-patton
does the stuff look like this or do you just ref where the smmanager folder is and ignore subdomain adressing, as I cant get it to pick up even after going back to themes and pushing save after the config, thank you
@import "http://genral.mymusicweb.info/smanager/discography.css";
..
hi lmfisher,
a subdomain shouldn't make any difference as long as you have the paths correct. I had a quick look at your page and it looks like it's not picking up the file field override (content-field-field_release_songs-release.tpl.php in the example above) which wraps the mp3 files in the necessary html tags for the player.
hope that helps
dub
audio previews w/ soundmanager2
Hi Dub,
I came across this thread while researching how to implement audio previews w/ Soundmanager2. I thoroughly examined the SM2 API and played with the demos, but have been unable to identify how to dynamically playback only a portion of an audio track w/ fade-in/fade-out. This would be an ideal solution instead of creating separate audio preview files for each and every file uploaded.
I am wondering if you have made any progress in this area? Any insight you can share regarding this issue is greatly appreciated.
Regards,
John
nice project! I would be
nice project! I would be interested to know how you're all getting with implementing the module. I have a website idea which would rely primarily on discographies. No audio as such but just useful info for members.
Best of luck with it,
T
Multisite
I got some mulitsites up for a few musicians and trying to get the discography module flowing in sites. What else can I do I installed all the appropriate files. but its not pulling the soundmanager in. ANy news let us know, thanks, cheers
Hi, Not sure this module is
Hi,
Not sure this module is maintained at the minute. Plus it might apply to early versions of drupal.
How about you create a page with views with the following info:
- Name of the artist
- Album name
- Track description
- Embedded media (i.e. video from Youtube, tracks from Soundcloud, songs from last.fm, etc)
- Link to Itunes, Amazon, etc.
Hope this helps,
T
oops, didnt earlier
oops, didnt earlier thread...please ignore ;-)
update
just to respond to people asking where this module is......
another discussion started as result of this thread...i.e. http://groups.drupal.org/node/21648 It asks the question "Which is better: a music distribution for Drupal or seperate modules?"
there was a lot of support for getting funding for a music distribution.....and getting moving with it, but, it transpired that there was already another initiative in place and I decided it would be counter productive to have two very similar drupal initiatives seeking funding from the same sources.
Unfortunately....the other initiative has been going for over 1.5 years now and the team have made no progress on funding or code, but are still talking about getting funding...so it's all very frustrating.
Dub
Discogs module
I don't know if this is still active, but I'm working on something very similar.
I've written a module called Discogs. In addition to creating a "discography" content type, it can import release information from Discogs.com.
The module is already complete and working. I've applied for a Drupal.org CVS account, but it's been in the works for quite a while now. I didn't know about this module before I started working on it.
If anyone here wants a copy of it, let me know.
By the way: the Discogs.com API does not allow third parties to create content on their site. You can only import info from discogs.com, not export it. Them's the breaks, I guess.
..
hey Karl,
thanks for the message. sounds interesting. have you posted the module anywhere online?
dub
Get Discogs
Hey, DD.
I put the module online at my site:
http://www.khznoise.com/discogs.zip
Unzip and put in your modules directory, as per usual.
Comments are more than welcome.
Previews
Oh, one other thing:
What I did not do, is include audio previews. This is mainly for a couple of reasons:
You can't get those from Discogs, and importing from there was my first priority
There are a ton of modules that handle audio (audio, XSPF Playlist, MediaFront, etc), they handle audio completely differently, and they all have ways to add audio to nodes without additional support anyway.
@Karlheinz: I tried to
@Karlheinz:
I tried to install you module from http://www.khznoise.com/discogs.zip, but I'm getting this error:
warning: opendir(sites/all/modules/discogs) [function.opendir]: failed to open dir: Permission denied in /var/www/tmp/includes/file.inc on line 955.So I'm still looking for a easy-to-use facility to import track listings from a source like Amazon into a Drupal site.
Is anyone still working on this? Even with CCK and 'Amazon' module, there seems to be no way around copying and pasting the data manually :-(
permissions
Make sure the folder sites/all/modules/discogs exists. If not, create it. Then make sure the web server has write permissions granted on it. Does that fix your problem?
Cheers,
Jeff
Old discogs version
I'm not sure what that problem is. It seems like a permissions issue. Possibly with the files directory? That's where Discogs stores the images (temporarily, in most cases).
In any case: The project now has its own page on Drupal.org:
http://drupal.org/project/discogs
Sorry, I should have announced it on here, but I plain forgot about this thread. I would download the latest beta from there. There are several bug fixes.
Incidentally, this module does not work with Amazon, only Discogs.com. That's something I've been thinking about doing: breaking it up into separate modules, so that others can write their own "sub-modules" for different API's (like Last.fm or Amazon). That hasn't happened yet, though.
Also, I should warn you that Discogs.com recently changed its API. The new one works with JSON rather than XML, which is actually easier on my end, but will require a code re-write. The old version should work until December, though.
Out of curiosity: Does anyone still use PHP < 5.2.0? It would be incredibly nice if I could make the PHP JSON library a system requirement (which is installed automatically with PHP 5.2.0 and up), but I don't want to leave anyone out in the cold.
(EDIT: JSON is automatically installed for 5.2.0 and up, not 5.3.0 as I previously thought.)
no *recommended* release
$ drush dl discogsThere is no recommended release for project discogs on Drupal 6.x. Ask the maintainer to review http://drupal.org/node/197584 and create/recommend a [ok]
release in order to be compatible with drush and the drupal.org security broadcast system. A recommended development snapshot release is sufficient.
Alternatively, run pm-releases command and explicity pm-download any non-recommended release that might be available.
;)
I tried discogs 6.x-1.0-beta2 from 2011-May-14, and it is a pretty impressive piece of software; from the first impression, it works like a charm.
According to the API v2.0 Documentation, "Artist, Label, and Release data is made available to you via a Public Domain license. That means there are no restrictions on what you can do with the data." However, I'm not sure if that PD licensing covers everything available through the API (like images, and the comprehensive release credits).
What do you think?
Recommended release, copyright issues
There is no recommended release
I thought I did that already, but apparently not. The "Recommended major version" is now 1, so it should work fine now.
I tried discogs 6.x-1.0-beta2 from 2011-May-14, and it is a pretty impressive piece of software
Thanks! I try my best. Obviously there are still a few kinks to work out (e.g. documentation). A few sites are using it as-is, though, so it's pretty stable. If you run across bugs, or want improvements, feel free to file an issue.
I'm not sure if that PD licensing covers everything available through the API (like images, and the comprehensive release credits).
Raw data can't be copyrighted, so stuff like track listings and credits are safe. On the other hand, the images are still copyright their respective owners. However, uses like this are almost certainly fair use. Also, though Discogs doesn't do lyrics, you can enter those by hand, and some sites have gotten in trouble for posting lyrics without permission.
But in general, I wouldn't worry about it. Discogs.com has been around for ages, and as far as I know, they have never faced a lawsuit.
Pushtape
Looks like the first features for the 'Pushtape' music publishing platform will provide a discography solution -
http://groups.drupal.org/node/111789#comment-521089
Gus Austin
Pushtape discography (and distribution) now available
Just an FYI for those not aware. The Pushtape Music distribution http://drupal.org/project/pushtape has an alpha release available for download.
Pushtape includes a discography (http://drupal.org/project/pushtape_discography) that can be used as a stand alone feature or extended in some of the ways discussed (or coded) in this thread.
Gus Austin
Pushtape feature request for Discography fields
Just a link to the feature requst you have posted there, regarding a field for discography:
"Add additional fields for Discography"
https://www.drupal.org/node/1878262
RevisorJönköping
Raw data can't be copyrighted, so stuff like track listings and credits are safe. On the other hand, the images are still copyright RevisorJönköping their respective owners. However, uses like this are almost certainly fair use. Also, though Discogs doesn't do lyrics, you can enter those by hand, and some sites have gotten in trouble for posting lyrics without permission.