/*
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 );
}
}
Aidan Knight is a modern day bard in the best and most sincere sense of the descriptor. His music is, among other things, robust, genteel and insanely beautiful. The featured track The Arp opens up like a benignly blazing sunrise cresting the far horizon. Song as a scrapbook, the warm sustenance of a hot cup of tea, a meditative playlist and a pocketful of sweetened Gary Snyder poems. Aidan’s latest album Each Other is collectively more profound, for there exists songs here which will become decorous rings around your bleeding heart. Each Other, What Light (Never Goes Dim), You Are Not Here and Black Dream are also notable standouts. Aidan Knight’s album Each Other is out now courtesy of the Outside Music label. Also, take a peek at the Ft. Langley directed video for All Clear video after the jump. Peace. Continue reading “aidan knight | the arp”
Sorority Noise are solidly east coasters hailing from good old Hartford, Connecticut. And obviously good old Hartford is a pretty good place to stare up an indie rock band. This winsome foursome dedecks their It Kindly Stopped For Me EP with introspective and thoughtful odes to the sour side of living. But it isn’t a bad thing, is it? The rawness and vulnerability of the songs reveal giving fragile hearts and a lovelorn of intimate proportions. Losing someone sucks eggs, but this collection of songs are a bit of catharsis, reached for and obtained, amid a sometimes life of shit. Peace. Continue reading “sorority noise | either way”
Mani Orrason weaves an incredibly hopeful ode. Here is a veritable poster boy song subscribing to the universal belief which espouses “Every dog will have its day.” The track Miracle Due is taken from Repeating Patterns, the debut album from this 16-year old singer-songwriter hailing from Iceland. Peace. Continue reading “mani orrason | miracle due”
South Londoner Shivum Sharma lays it on thick with melancholy and introspection wrapped up in sensuous synths and sweet like sugar vocals. The song After All These Years bleeds from the heart and we love every once of it. Continue reading “shivum sharma | after all these years”
Pablo Nutini will not be denied entry into your heart. And let’s face it this man is destined to settle into the soft tissue of your brain matter like a thorny crucible. So when the needle drops and the song Let Me Down Easy starts to play make sure you have some Cognac (or some other heavy hitting elixir) close at hand to steady your nerves. Continue reading “pablo nutini | let me down easy”
Caroline Smith will take your heart and break it, mend it and send you on your merry way smiling like a fool. Ms. Smith does something with words and music which comes naturally and seemingly effortless, yet we know it isn’t either. But, it is her slight of voice and deft cleft notes that not only entertain our ears, but makes us lean in closer.
Recently, the latest album Love Letters, from the ever-changing and perpetually ear-appealing foursome Metronomy is 10-piece deep fried and served with packets of funk sauce. Yes, your ears will need wet wipes for this one. Here is a band with a sound soul-stitched in the artsy annals of some future retro otherworld. Down below you can check out the brand new and oh so official video the their titled-track Love Letters. This piece was directed by Mr. Michel Gondry, so you know it’s an eyeful of sticky sweet. You can cop Love Letters now via the music outlets below, and check out the band’s Deezer Session you’ll succumb to total swoontaneous combustion. Peace.
It’s been over a year since I first heard Nico (The Velvet Underground alum) let loose into my world his debut solo album Chelsea Girl (circa. 1967), and even though 365 + days may be time enough to get over some things, such is not the case when talking about the stand out track These Days. This song, as delicate in introspective as they come still haunts the hollows of many a ear. I’ve also shared a more recent treatment, the These Days (Shinichi Osawa Edit), it takes liberties but the end result is just a bunchful of smoothness and distilled radiance. Peace. Continue reading “nico // these days + shinichi osawa edit”
If all music tells a story, then Royal Teeth’s joyous, inspired songs spin an exuberant tale of possibility, each note conveying the youthful excitement of venturing out into the great wide world. The songs on the band’s debut album, Glow (courtesy of Dangerbird Records), were penned around the idea of exploration and spirited adventures into the unknown, and its 12 tracks lay out a kaleidoscopic narrative of discovery.
This month Tesla Boy dropped their highly anticipated sophomore LP ‘The Universe Made Of Darkness’, and naturally we are both impressed and grateful. Get an earful of the single, “Broken Doll,” featuring the Red Velvet cake vocals of Tyson. This track sheds mega sparks via it’s nasty synths and sexy menacing bass line, and we can’t seem to get enough. You can get the 12-track album right now via iTunes. Peace. Continue reading “tesla boy // broken doll”