Episode transcripts

I have a transcript of one of my released episodes and I am considering the best way to post it and associate it with the episode. From looking at the settings pages it doesn’t appear that there is anything along the lines of https://wordpress.org/plugins/seriously-simple-transcripts/, but I am curious if anyone has suggestions for how best to post that content. I can add it to the show notes on the episode page, but I don’t know what the user experience for that would be like…

You can add your transcript as an asset to your podcast and get the same behaviour. There should be proper file types available.

We are working on adding full transcript support to Podlove so that transcripts can show up synchronized in the Web Player.


@timpritlove or @ericteubert what is the current state of affairs for transcripts in episode posts? Should I just create them as their own post and link to them, or is there a mechanism for populating them in the web player? I know that the Podigee player supports it, but I would like to continue using the Player v4 if possible.

Thank you for your help!

The current Beta contains the Transcripts module. If you don’t mind being on a beta release, you can already use it there.

Great, thanks! I’ll give it a try on my QA servers :+1:

I had tested out the beta a few weeks ago on my QA server and it worked great. Unfortunately with the latest update it seems that the transcript isn’t being sent to the player when the page loads. I’m not sure if maybe my code change for managing the visible components is somehow interrupting that data being sent.

The specific episode is located at https://www.dataengineeringpodcast.com/alluxio-distributed-storage-episode-70/ and the transcript is attached here.

The log message that I am seeing is:

PHP Warning:  Missing argument 2 for Podlove\Modules\Transcripts\Transcripts::add_playerv4_config(), called in /var/www/dataengineering/wp-includes/class-wp-hook.php on line 286 and defined in /var/www/dataengineering/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/lib/modules/transcripts/transcripts.php on line 330

I appreciate any feedback or advice on how to go about debugging this. Thank you!

Episode 70 - Alluxio.txt (53.6 KB)

Is it fixed in the most recent build?

Thank you for the quick turnaround. Unfortunately that change caused a fatal error:

PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Podlove\Modules\PodloveWebPlayer\PlayerV4\Html5Printer::__construct() must be an instance of Podlove\Model\Episode, null given, called in /var/www/dataengineering/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/lib/modules/podlove_web_player/player_v4/module.php on line 129 and defined in /var/www/dataengineering/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/lib/modules/podlove_web_player/player_v4/html5printer.php:20
Stack trace:
#0 /var/www/dataengineering/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/lib/modules/podlove_web_player/player_v4/module.php(129): Podlove\Modules\PodloveWebPlayer\PlayerV4\Html5Printer->__construct(NULL)
#1 /var/www/dataengineering/wp-includes/shortcodes.php(325): Podlove\Modules\PodloveWebPlayer\PlayerV4\Module::shortcode('', '', 'podlove-episode...')
#2 [internal function]: do_shortcode_tag(Array)
#3 /var/www/dataengineering/wp-includes/shortcodes.php(199): preg_replace_callback('/\\[(\\[?)(podlov...', in /var/www/dataengineering/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/lib/modules/podlove_web_player/player_v4/html5printer.php on line 20

I’ve backed out the change manually for now and I will keep looking as well to see how to address the original problem.

@ericteubert looking at this a bit more, I tested out updating the function in the transcripts module to be this:

    public function add_playerv4_config($config)
        $config['transcripts'] = get_permalink($episode->post_id) . '?podlove_transcript=json';
        return $config;

It is working with showing the transcripts for the episodes that have them and for the ones that don’t it still returns a 200 response but doesn’t show the transcripts tag. Is there any harm in proceeding with that approach? Will it potentially result in a performance impact from erroneous XHR requests on episodes that don’t have transcript files?

If that is an acceptable approach I can submit a pull request to make the change.


Thanks @tmacey a patch with a fix should be available in a few minutes.