/*
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 );
}
}
of montreal offers up the song, “our love is senile” which is yet another track from the georgia band’s forthcoming outtakes/rarities compilation daughter of cloud. the album is expected to hit the streets running on October 23rd.
Kishi Bashi has a video for his touchingly poignant song “I Am The Antichrist To You” and this track is from his debut album recording 151A released earlier this year (April 2012) via Joyful Noise Recordings. After the jump I also have dates for Kishi Bashi’s first (mostly) headlining tour. Peace. Continue reading “kishi bashi // i am the antichrist to you”
Over ten-years going and as fresh as ever! Kevin Barnes and crew have conjured up another phenomenal batch of sound potion with the new album titled Paralytic Stalks. We’ve already been teased with two singles “Wintered Debts” and “Dour Percentage.” And for your listening pleasure the entire LP is streaming online. Check it out and peruse individual track play-by-play from Kevin Barnes. So, high-tail it over to Spin.com to listen. Also, you know I love it when you guys leave comments or vote. Peace. Continue reading “Of Montreal // Paralytic Stalks (Stream)”
I’ve come across a veritable deluge of outstanding music since I began this music blog back in August 2011. And when music is such an integral part of one’s existence you get very picky, developing quite a discerning ear for what will and will not cut the mustard. I came across Kishi Bashi by a fortuitous accident. I was searching for tickets for the Loney Dear show in Chicago with Of Montreal headlining on March 28th at the Metro. But I found so much more, for also on this bill was, at the time an unknown artist, Kishi Bashi. So, I being the curious sort I went looking for all things related to Kishi Bashi and boy was I rewarded. It went something like this Facebook, Twitter, kishibashi.com, and then ended beautifully at kishibashi.bandcamp.com. It was like uncovering a serendipitous mystery of sorts. A mystery, which in the end left me with an incredible first impression of the inventive, and highly accomplished musician K Ishibashi. The Room For Dream EP is four extraordinary songs brimming with enough spine tingling effervescence, upon listening you’d swear your Set-Adrift-On-A-Memory-Bliss. The utter vitality of the music makes you want to succumb to one of the most primal impulses known to mankind. To dance, to move your body and smile. What more could you ask of music than that? I’m looking forward to the Chicago show. And now I’ve more songs to sing along to: Manchester, Bright White, Conversation At The End Of The World, and Evalyn, Summer Has Arrived. I’ll know them all, or perhaps they’ll know me. Also, Kishi Bashi is also working on a new album scheduled for an April release. I’ll be eagerly awaiting. Peace.Continue reading “Kishi Bashi // Room For Dream EP”
If I could take several specific paintings of Michael Hussar, a lock of Andre 3000’s hair, along with a few choice puffs of the Beatles’ Magic Mystery Tour album, place them in a cauldron, and wave Dumbledore’s wand over it, chanting, “Differences of habit and language are nothing at all if our aims are identical and our hearts are open.” What I suspect would materialize out of thin air would sound exactly like Of Montreal. Of Montreal has released another round of musical spells with Paralytic Stalks. I am more than a bit charmed. Peace.
“Wintered Debts” takes me places without atmospheres of turmoil.
“Id Engager” is so promiscuous, but I like my music that way.