<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[msenkpiel.de]]></title><description><![CDATA[Tech, ideas and projects.]]></description><link>https://msenkpiel.de/</link><image><url>https://msenkpiel.de/favicon.png</url><title>msenkpiel.de</title><link>https://msenkpiel.de/</link></image><generator>Ghost 4.4</generator><lastBuildDate>Mon, 04 May 2026 07:48:14 GMT</lastBuildDate><atom:link href="https://msenkpiel.de/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Load all tracks in a playlist at once - Apple Music app on a mac]]></title><description><![CDATA[If you want to load all (iTunes Match) tracks in a playlist at once you need to switch to a different list view. ]]></description><link>https://msenkpiel.de/load-all-tracks-in-a-playlist-at-once-apple-music-app-on-a-mac/</link><guid isPermaLink="false">5f7c5826b2a88610a21844bb</guid><category><![CDATA[App]]></category><category><![CDATA[Apple Music]]></category><dc:creator><![CDATA[Marco]]></dc:creator><pubDate>Tue, 06 Oct 2020 12:01:22 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1528148343865-51218c4a13e6?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1528148343865-51218c4a13e6?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" alt="Load all tracks in a playlist at once - Apple Music app on a mac"><p>If you open a playlist you&apos;ll get a nice large list view. You can select multiple tracks but it is not possible to trigger the download for all these tracks.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://msenkpiel.de/content/images/2020/10/Bildschirmfoto-2020-10-06-um-13.51.13.png" class="kg-image" alt="Load all tracks in a playlist at once - Apple Music app on a mac" loading="lazy"></figure><p>But if you switch to the &quot;show as title&quot; view, you can trigger all at once: </p><figure class="kg-card kg-image-card"><img src="https://msenkpiel.de/content/images/2020/10/Bildschirmfoto-2020-10-06-um-13.52.04.png" class="kg-image" alt="Load all tracks in a playlist at once - Apple Music app on a mac" loading="lazy"></figure><p>Now you can select all tracks you want to load and select this menu item from the menu bar. </p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://msenkpiel.de/content/images/2020/10/Bildschirmfoto-2020-10-06-um-13.52.48.png" class="kg-image" alt="Load all tracks in a playlist at once - Apple Music app on a mac" loading="lazy"></figure><p>Photo: unsplash.com</p>]]></content:encoded></item><item><title><![CDATA[How to trigger power off command with Logitech Harmony Hub on an AppleTV]]></title><description><![CDATA[By default, there is no action to trigger the power off of an AppleTV from Logitech's Harmony Hub. But there is another option to set up a different device for doing that.]]></description><link>https://msenkpiel.de/how-to-trigger-power-off-command-with-logitech-harmony-hub-on-an-appletv/</link><guid isPermaLink="false">5ef0825378757e0ee1715cc5</guid><category><![CDATA[Smart Home]]></category><dc:creator><![CDATA[Marco]]></dc:creator><pubDate>Mon, 22 Jun 2020 10:16:16 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1519558260268-cde7e03a0152?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1519558260268-cde7e03a0152?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" alt="How to trigger power off command with Logitech Harmony Hub on an AppleTV"><p>Create a new device called &quot;Harmony Pro&quot; and type in the serial &quot;BT Apple TV 4&quot;. This creates an AppleTV device within the Harmony app with a quite different configuration. If you use that device in your actions, the hub will sent a power off/sleep command to the AppleTV.</p><p>Photo: unsplash.com</p>]]></content:encoded></item><item><title><![CDATA[Using Symfony Webpack-Encore-Bundle with Pimcore]]></title><description><![CDATA[Based on the "Webpack Encore: Frontend like a Pro!" - SymfonyCast I will implement the Webpack-Encore-Bundle in a Pimcore project.]]></description><link>https://msenkpiel.de/using-symfony-webpack-encore-bundle-with-pimcore/</link><guid isPermaLink="false">5eba63e678757e0ee1715bf6</guid><category><![CDATA[Pimcore]]></category><category><![CDATA[Bundle]]></category><category><![CDATA[Symfony]]></category><dc:creator><![CDATA[Marco]]></dc:creator><pubDate>Tue, 12 May 2020 12:26:20 GMT</pubDate><media:content url="https://msenkpiel.de/content/images/2020/05/webpack-encore.png" medium="image"/><content:encoded><![CDATA[<img src="https://msenkpiel.de/content/images/2020/05/webpack-encore.png" alt="Using Symfony Webpack-Encore-Bundle with Pimcore"><p>I am using Pimcore v6.6.4, PHP 7.4 on a Mac. </p><p>Open a terminal and go to the project root directory and perform the following steps:</p><ol><li>Install yarn <code>brew install yarn</code></li><li>Install Symfony Flex <code>composer require symfony/flex</code> </li><li>Install Symfony Encore <code>composer require encore</code></li><li>run <code>yarn</code> or <code>yarn install</code> </li></ol><p>Now we have a new directory &apos;assets&apos; in the project root directory. Within these directories, there are two subdirectories one for JS-files and another one where CSS-files placed to be. To execute the very first build we need to go over in our terminal and run <code>./node_modules/.bin/encore dev</code> . This will create a build directory in our web-root.</p><p>If we want to use the Twig template functions to render the JS and CSS files, we need to set up some more things. Add the <code>new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle()</code> to AppKernel.php:</p><figure class="kg-card kg-code-card"><pre><code class="language-PHP">&lt;?php

use Pimcore\HttpKernel\BundleCollection\BundleCollection;
use Pimcore\Kernel;

class AppKernel extends Kernel
{
    /**
     * Adds bundles to register to the bundle collection. The collection is able
     * to handle priorities and environment specific bundles.
     *
     * @param BundleCollection $collection
     */
    public function registerBundlesToCollection(BundleCollection $collection)
    {
        if (class_exists(&apos;\\AppBundle\\AppBundle&apos;)) {
            $collection-&gt;addBundle(new \AppBundle\AppBundle);
        }
        
        if (class_exists(&apos;\Symfony\WebpackEncoreBundle\WebpackEncoreBundle&apos;)) {
            $collection-&gt;addBundle(new \Symfony\WebpackEncoreBundle\WebpackEncoreBundle());
        }

        if (class_exists(&apos;\Pimcore\Bundle\LegacyBundle\PimcoreLegacyBundle&apos;)) {
            $collection-&gt;addBundle(new \Pimcore\Bundle\LegacyBundle\PimcoreLegacyBundle);
        }
    }
}</code></pre><figcaption>AppKernel.php</figcaption></figure><p>In <em>config.yml</em> we need to add the following lines:</p><figure class="kg-card kg-code-card"><pre><code class="language-YAML">framework:
    assets:
        json_manifest_path: &apos;%kernel.project_dir%/web/build/manifest.json&apos;
        
webpack_encore:
    output_path: &apos;%kernel.project_dir%/web/build&apos;</code></pre><figcaption>config.yml</figcaption></figure><p>From now we can use the Twig Helper functions to add JS- and CSS-files to our templates like so:</p><figure class="kg-card kg-code-card"><pre><code class="language-Twig">&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;

&lt;head&gt;
    &lt;title&gt;{% block title %}Awesome Default Title{% endblock %}&lt;/title&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1, shrink-to-fit=no&quot;&gt;

    {% block stylesheets %}
        {{ encore_entry_link_tags(&apos;app&apos;) }}
    {% endblock %}
&lt;/head&gt;

&lt;body&gt;

{% block body %}{% endblock %}

{% block javascripts %}
    {{ encore_entry_script_tags(&apos;app&apos;) }}
{% endblock %}
&lt;/body&gt;
&lt;/html&gt;
</code></pre><figcaption>base.html.twig</figcaption></figure><p>There are several scripts the we can use to build our files. Have a look into <em>package.json</em> file. </p><figure class="kg-card kg-code-card"><pre><code class="language-JSON">&quot;scripts&quot;: {
        &quot;dev-server&quot;: &quot;encore dev-server&quot;,
        &quot;dev&quot;: &quot;encore dev&quot;,
        &quot;watch&quot;: &quot;encore dev --watch&quot;,
        &quot;build&quot;: &quot;encore production --progress&quot;
    }</code></pre><figcaption>package.json</figcaption></figure><p>If we want to rebuild our files every time we have changed some code, so simply use <code>yarn watch</code> . This will run the script in the background.</p><p>For more information about this bundle I highly recommend the <a href="https://symfonycasts.com/screencast/webpack-encore">&quot;Webpack Encore: Frontend like a Pro!&quot; - SymfonyCast</a>.</p>]]></content:encoded></item><item><title><![CDATA[HTML cleanup on paste in Pimcore's WYSIWYG editor]]></title><description><![CDATA[Use a custom config file to paste plain text in Pimcore's WYSIWYG editor.]]></description><link>https://msenkpiel.de/html-cleanup-on-paste-in-pimcore-wysiwyg-editor/</link><guid isPermaLink="false">5e8e20a2d7186b0ce9291845</guid><category><![CDATA[Pimcore]]></category><dc:creator><![CDATA[Marco]]></dc:creator><pubDate>Wed, 08 Apr 2020 19:08:29 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1555952494-efd681c7e3f9?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1555952494-efd681c7e3f9?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" alt="HTML cleanup on paste in Pimcore&apos;s WYSIWYG editor"><p>Create a new file <em>ckeditor_config.js</em> in a folder filed under the web-root directory, in this example under <em>/static/js/editmode/ckeditor/config.js.</em><br><br>Besides we need the <a href="https://ckeditor.com/cke4/addon/clipboard">Clipboard</a> and the <a href="https://ckeditor.com/cke4/addon/notification">Notification Plugin</a> (a dependency of clipboard plugin). You need to download and extract these files to <em>/static/js/editmode/ckeditor/ </em>directory.<br><br>Now add the following lines into <em>ckeditor_config.js</em> file:</p><figure class="kg-card kg-code-card"><pre><code class="language-JS">CKEDITOR.plugins.addExternal( &apos;clipboard&apos;, &apos;/static/js/editmode/ckeditor/clipboard/&apos; );
CKEDITOR.plugins.addExternal( &apos;notification&apos;, &apos;/static/js/editmode/ckeditor/notification/&apos; );

CKEDITOR.editorConfig = function( config ) {
    config.extraPlugins = &apos;notification,clipboard&apos;;
    config.pasteFilter = &apos;plain-text&apos;;
}</code></pre><figcaption><em>ckeditor_config.js</em></figcaption></figure><p>In addition to the clipboard plugin, what we need to interact with the system clipboard, we use an option called pasteFilter. The magic happens if we use &quot;plain-text&quot; as value. The filter plugin offers some other possibilities to filter the content. Further information can you find in the <em><a href="https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-pasteFilter">documentation</a></em>.</p><p>Now we have to tell Pimcore where to find the custom config file as shown below:</p><figure class="kg-card kg-code-card"><pre><code class="language-twig">{{  pimcore_wysiwyg(&quot;specialContent&quot;, {
        &quot;customConfig&quot;: &quot;/static/js/editmode/ckeditor/config.js&quot;
    }) 
}}</code></pre><figcaption>twig template</figcaption></figure><figure class="kg-card kg-code-card"><pre><code class="language-php">&lt;?= $this-&gt;wysiwyg(&quot;specialContent&quot;, [
    &quot;customConfig&quot; =&gt; &quot;/static/js/editmode/ckeditor/config.js&quot;
]); ?&gt;</code></pre><figcaption>php template</figcaption></figure><hr><p>Photo: <a href="https://unsplash.com/photos/O2MdroNurVw">unsplash.com</a></p>]]></content:encoded></item></channel></rss>