/*
Plugin Name: Distrify Embed
Plugin URI: http://support.distrify.com/customer/portal/articles/264106-how-do-i-embed-on-a-wordpress-blog-
Description: Extends WordPress's Embeds allowing bloggers to easily embed videos from Distrify. Just go to any Distrify film page or player and copy the URL. Paste that URL in any WordPress blog and it will automatically be converted to an embedded Distrify player. If you are logged in to distrify.com it will automatically add your affiliate tracking code to your embeds. Make sure you turn on Auto-embeds in your WP settings and also make sure that the URL is on its own line and not hyperlinked (clickable when viewing the post). The plugin also extracts the still image from the film and saves it as the Featured Image for the post. This actually works for any Embed (not just Distrify) that you embed into your WordPress blog.
Author: Distrify Limited
Version: 0.3.1
Author URI: http://www.distrify.com
License: GPL2
Copyright 2011-2013 Distrify (email : hello@distrify.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* Does the work of adding the Distrify provider to wp_oembed
*/
function add_distrify_provider($the_content){
require_once( ABSPATH . WPINC . '/class-oembed.php' );
wp_oembed_add_provider('#https?://(www\.)?(distrify|muvies).com/films/.*#i', 'http://distrify.com/oembed.json', true );
wp_oembed_add_provider('http://muvi.es/*', 'http://distrify.com/oembed.json' );
wp_oembed_add_provider('#https?://.*\.muvies.com/.*reviews/.*#i', 'http://distrify.com/oembed.json', true );
}
//add the provider on plugins_loaded.
add_action('plugins_loaded', 'add_distrify_provider');
/**
* from http://wordpress.stackexchange.com/q/70752/1685
* Automatically set the featured image if an oEmbed-compatible embed is found in the post content.
* author: TheDeadMedic
* author URI: http://wordpress.stackexchange.com/users/1685/thedeadmedic
*
*/
add_action( 'wp_insert_post', array( 'ofi', 'init' ) );
class ofi
{
/**
* The post thumbnail ID
*
* @var int
*/
private $_thumb_id;
/**
* The post ID
*
* @var int
*/
private $_post_id;
/**
* Sets up an instance if called statically, and attempts to set the featured
* image from an embed in the post content (if one has not already been set).
*
* @param int $post_id
* @return object|null
*/
public function init( $post_id )
{
if ( ! isset( $this ) )
return new ofi( $post_id );
global $wp_embed;
$this->_post_id = absint( $post_id );
if ( ! $this->_thumb_id = get_post_meta( $this->_post_id, '_thumbnail_id', true ) ) {
if ( $content = get_post_field( 'post_content', $this->_post_id, 'raw' ) ) {
add_filter( 'oembed_dataparse', array( $this, 'oembed_dataparse' ), 10, 3 );
$wp_embed->autoembed( $content );
remove_filter( 'oembed_dataparse', array( $this, 'oembed_dataparse' ), 10, 3 );
}
}
}
/**
* @see init()
*/
public function __construct( $post_id )
{
$this->init( $post_id );
}
/**
* Callback for the "oembed_dataparse" hook, which will fire on a successful
* response from the oEmbed provider.
*
* @see WP_oEmbed::data2html()
*
* @param string $return The embed HTML
* @param object $data The oEmbed response
* @param string $url The oEmbed content URL
*/
public function oembed_dataparse( $return, $data, $url )
{
if ( ! empty( $data->thumbnail_url ) && ! $this->_thumb_id ) {
// if ( in_array( @ $data->type, array( 'video' ) ) ) // Only set for video embeds
$this->set_thumb_by_url( $data->thumbnail_url, @ $data->title );
}
}
/**
* Attempt to download the image from the URL, add it to the media library,
* and set as the featured image.
*
* @see media_sideload_image()
*
* @param string $url
* @param string $title Optionally set attachment title
*/
public function set_thumb_by_url( $url, $title = null )
{
/* Following assets will already be loaded if in admin */
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once ABSPATH . 'wp-admin/includes/media.php';
require_once ABSPATH . 'wp-admin/includes/image.php';
$temp = download_url( $url );
if ( ! is_wp_error( $temp ) && $info = @ getimagesize( $temp ) ) {
if ( ! strlen( $title ) )
$title = null;
if ( ! $ext = image_type_to_extension( $info[2] ) )
$ext = '.jpg';
$data = array(
'name' => md5( $url ) . $ext,
'tmp_name' => $temp,
);
$id = media_handle_sideload( $data, $this->_post_id, $title );
if ( ! is_wp_error( $id ) )
return update_post_meta( $this->_post_id, '_thumbnail_id', $this->_thumb_id = $id );
}
if ( ! is_wp_error( $temp ) )
@ unlink( $temp );
}
}
Yeah, this song is more than a few days old (circa 2009) but it still rocks on so many levels. I was listening to old playlists and came across the album, at times the past is a great place to revisit. Although I haven’t heard anything new from Kyp Malone‘s Rain Machine I’m still chewing the fat of “Give Blood,” as well as other songs from the release. If you haven’t check out the rest of the self-titled debut album release on iTunes. Also, check out his guest DJ spot on NPR. Peace. Continue reading “rain machine // give blood”
Chelsea Jade Metcalf is Watercolours and the track Under, melts like slow dripping icicles licked tenderly by winter sunshine… GAH! Metaphors can be so naught,y but luckily the music is pristine and genuine. After the jump check out the lyrics too. Peace. Continue reading “watercolours // under”
The Weeknd is a crooner par excellence and his track (and video) are no exception. If you are a fan of Mr. Abel Tesfaye, well, the song “Twenty-Eight,” has everything you’ve come to expect from this Toronto native. It is soulful, sexy and ringed by vocals that will send shivers across her erogenous zones (hey, less work for you right?). By the way this video is a bit explicit so handle your business and show some discretion. Peace. Continue reading “the weeknd // twenty-eight (explicit = nsfw)”
If you need a reason to get wit’ this… well try this on for size… it’s hump-day mothafucka’! Forgive my potty mouth but I’m feeling rowdy as hell today and DENA has compiled the perfect mixtape to get you happily on your way to a glorious weekend. Rock wit’ it. Peace. Continue reading “dena /// mixtape (free download)”
London producer James Jacob aka Jakwob always excites and with the forthcoming release of a new single. Listen and you be the judge. If you like it, well you’re in luck, because the single EP comes out Sunday. You can pre-order here. Peace. Continue reading “jakwob // fade (ft. maiday)”
The impetus, two and a half years ago, Erin Fein began drafting a series of songs that would eventually become the music of Psychic Twin. These songs were birthed with all the fragility of soul indebted personal, imbued with an all too human nervousness riding rhythms of thee ‘80s new-wave of her past. Check out ‘Strangers‘ which is a 7″ vinyl release set to drop April 2nd. For video for “Strangers,” is an all out acid trip and take a listen to the B-Side “Dream State“. Peace. Continue reading “psychic twin // strangers”
From north of the U.S. border our brethren from Canada send us groove theory tidings in the form of a new single EP from Canadian producer Box of Wolves and London-based singer Christa VI. The track “Boy,” is all kinds of retro dance worthy. The EP release also features a B-Side titled “The Machine” and a remix by Toronto dance DJ/Producer Cyclist and fresh faced producer Summer Occasion. Peace. Continue reading “box of wolves // boy (ft. christa vi)”
Mr. James Blake is something of an anomaly in the world of music in that he approaches music with a masculine delicacy unlike any other. Yes, there are all sorts of seducers out here, but Mr. Blake delivers his brand of love potion number 9 without pretension and raises the bar with an authentic genuineness that is both subtle and positively endearing. His most recent offering song “Digital Lion,” doesn’t “try” to be anything other than what it is… abundantly beautiful. On the track “Digital Lion,” James Blake teams up with the iconic Brian Eno and the results are in a word, beyond effective. This song and 11-others comprise the forthcoming album ‘Overgrown‘which drops digitally April 9th, 2013. Peace. Continue reading “james blake + brian eno // digital lion”
When it comes to modern contemporary pop music Thom Yorke has the Midas touch. Or so it seems. Mr. Yorke has a penchant for dance (the video for Lotus Flower anyone?. The Flea/Yorke project known as Atoms For Peace is anything but another permutation of Radiohead, it stretches and shape-shifts into ever interesting and enjoyable plateaus …well, let me shut-up and just let your ears & eyes enjoy the music. If you haven’t known the pleasure, you can cop the Atoms For Peace’s album AMOK here. Peace. Continue reading “atoms for peace // ingenue”
The sun shines on us all at one time or another and listening to electronic-dream pop duo Beacon (Thomas Mullarney and Jacob Gossett) has a similar warm sun-dappled feeling. Beacon will be releasing their shiny new LP on April 29th via Ghostly International bearing the title ‘The Ways We Separate.’ The release follows their head turning EPs ‘No Body’ and ‘For Now‘. Stream the lead track “Bring You Back” after the jump. Peace. Continue reading “beacon // bring you back”