<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Appleシリコン | imakat.com</title>
	<atom:link href="https://imakat.com/tag/apple%E3%82%B7%E3%83%AA%E3%82%B3%E3%83%B3/feed/" rel="self" type="application/rss+xml" />
	<link>https://imakat.com</link>
	<description>工夫と改善で人生をちょっと豊かに</description>
	<lastBuildDate>Fri, 12 Sep 2025 03:17:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/imakat.com/wp-content/uploads/2023/07/cropped-80d64ecd340db4e2ca3224859b04caed.png?fit=32%2C32&#038;ssl=1</url>
	<title>Appleシリコン | imakat.com</title>
	<link>https://imakat.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">160909258</site>	<item>
		<title>【Final Cut Pro】起動時の余分な入力を省略する方法〜STREAM DECKの利用〜</title>
		<link>https://imakat.com/2023/06/17/17149/</link>
		
		<dc:creator><![CDATA[imakat]]></dc:creator>
		<pubDate>Sat, 17 Jun 2023 08:48:03 +0000</pubDate>
				<category><![CDATA[デジタル]]></category>
		<category><![CDATA[ものづくり]]></category>
		<category><![CDATA[STREAM DECK]]></category>
		<category><![CDATA[Macmini]]></category>
		<category><![CDATA[FinalCutPro]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[遅延]]></category>
		<category><![CDATA[Appleシリコン]]></category>
		<category><![CDATA[cubase]]></category>
		<guid isPermaLink="false">https://imakat.com/?p=17149</guid>

					<description><![CDATA[上のビデオをご覧ください。 ５年近く使ってきたIntel Mac miniから、新しいM2 Mac miniへ移行しました。数多く語られている「AppleシリコンMacへの移行時のトラブル」ですが、私としてもブログへ備忘 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-text-color has-key-color-color has-alpha-channel-opacity has-key-color-background-color has-background is-style-wide"/>


<div class="sc-vimeo-embed">
  <p style="font-size: 14px;" class="sc-link">
    <a href="https://imakat.com/vm5?movid=836820927" target="_blank" onclick="stopVimeoBeforeNavigate(event, this)">
      動画を別ページで表示(ここをクリック)
    </a>
  </p>

  <div class="iframe-wrapper">
    <iframe
      src="https://player.vimeo.com/video/836820927?title=0&byline=0&portrait=0&controls=1&speed=1&texttrack=ja&dnt=1&loop=0"
      frameborder="0"
      allow="autoplay; fullscreen; picture-in-picture"
      allowfullscreen></iframe>
  </div>

  <div class="dr-vimeo-sublist">
    <details>
  <summary>字幕情報を表示します。</summary>
  <p>
<!-- 以下から書き出し -->
〜「Final Cut Proの起動時のGPU確認入力を省略する方法」〜<br>
1. Final Cut Proを起動した時、毎回、警告が出るようになりました。<br>
2. 「新しいGPUに切り替わりますが、いいですか？」と毎回聞かれるようになりました。<br>
3. これを自動的にOKになるようにしたいと思います。<br>
4. 症状を再現します。Final Cut Proを起動します。<br>
5. 選択したGPUは使用できません。選択したGPUは電源が入っていないか、使用できなくなりました。デフォルトのGPUが使用されます。<br>
6. 私としては、その通りOKで何ら問題ありません。<br>
7. Final Cut Proを起動する時、毎回、OKを押さなければなりません。<br>
8. 以前私は、Intel Mac miniを使っていました。その時、動画編集のために、外付けのeGPUを使っていました。最近、新たに、M2 Mac miniへ移行しました。<br>
9. その時に、Time Machineを使って、そのまま移行しました。<br>
10. eGPUがあるものとして引き継がれました。そのためこの現象が生じています。これをリセットする方法がなかなか見当たらず、仕方なく。。。<br>
11. それでは、対処をしていきます。<br>
12. STREAM DECKを使ってみます。<br>
13. 「マルチアクション」を使います。<br>
14. 「開く」を挿入します。<br>
15. 開くアプリケーションにFinal Cut Proを選択します。<br>
16. Final Cut Proが起動したあと、OKにするのは、Enterキーを入力します。<br>
17. 「ホットキー」を挿入します。<br>
18. ホットキーの項目をクリックすると、キーストロークを監視中になります。→enterを押します。<br>
19. 実行してみます。<br>
20. 反応が早すぎるので、OKの手前で止まってしまいます。<br>
21. ゆっくり動作するように遅延させるようにします。<br>
22. 「遅延」を、「開く」と「ホットキー」の間に挟み込みます。<br>
23. 再度、実行を試してみます。<br>
24. 正常に動作しました。<br>
25. 一応、完成しましたが、アイコンを作っておきます。<br>
26. Final Cut Proのアイコンを挿入します。<br>
27. タイトルを、Final Cutとして上段に表示するようにします。<br>
28. こんな感じに出来上がりました。<br>
29E. 「STREAM DECKを利用して、Final Cut Proをスムーズに起動させよう！」でした。<br>
<!-- 以上まで書き出し -->
</p>
</details>

<style>
details {
  font: 16px "Open Sans", Calibri, sans-serif;
  width: 100%;
}

details > summary {
  padding: 2px 6px;
 width: 100%; 
 border-radius: 5px 5px 5px 5px;
  background-color: #ddd;
  border: none;
  box-shadow: 3px 3px 4px black;
  cursor: pointer;
  list-style: none;
}

details > p {
  font: 14px "Open Sans", Calibri, sans-serif;
  height:200px;
  overflow: scroll;
 border-radius: 5px 5px 5px 5px;
  background-color: #EDF7FF;
  padding: 2px 6px;
  margin: 0;
  box-shadow: 3px 3px 4px black;
}
</style>
  </div>

  <script src="https://player.vimeo.com/api/player.js"></script>

  <script>
  (function(){
    var me = document.currentScript;
    var wrapper = me ? me.closest('.sc-vimeo-embed') : null;

    var target = wrapper ? wrapper : document;
    var iframe = target.querySelector('iframe');
    if (!iframe || !window.Vimeo || !Vimeo.Player) return;

    var player = new Vimeo.Player(iframe);

    /* --- 1. 確実に一時停止してから別ページを開く処理 --- */
    window.stopVimeoBeforeNavigate = function(event, link) {
      event.preventDefault(); 
      player.pause().then(function() {
        setTimeout(function() {
           window.open(link.href, link.target);
        }, 50);
      }).catch(function() {
        window.open(link.href, link.target);
      });
    };

    /* --- 2. 字幕のON/OFF制御（Vimeo API仕様） --- */
    var currentMode = "hidden";
    
    function useNormalMode() {
        currentMode = "hidden";
        player.disableTextTrack().catch(function(e){});
    }
    
    function useSpecialMode() {
        currentMode = "showing";
        // 日本語の subtitles が無ければ captions を探す安全設計
        player.enableTextTrack('ja', 'subtitles').catch(function() {
            player.enableTextTrack('ja', 'captions').catch(function() {});
        });
    }

    // ロード直後は枠内字幕を非表示にする
    player.ready().then(function() {
        useNormalMode();
    });

    // Vimeoプレーヤーの全画面・PiPイベントを監視して字幕を切り替え
    player.on('fullscreenchange', function(data) {
        if (data.fullscreen) useSpecialMode();
        else useNormalMode();
    });
    player.on('enterpictureinpicture', function() {
        useSpecialMode();
    });
    player.on('leavepictureinpicture', function() {
        useNormalMode();
    });

    /* --- 3. 字幕リストの初期化（自動梱包とデフォルト展開） --- */
    var checks = 0;
    var initTimer = setInterval(function(){
        var listContainer = target.querySelector('details > p');
        if (listContainer) {
            initSubtitles(listContainer);
            clearInterval(initTimer);
        }
        checks++;
        if (checks > 20) clearInterval(initTimer); // 10秒経ったら監視終了
    }, 500);

    function initSubtitles(listContainer) {
        // デフォルトで開く
        var detailsEl = target.querySelector("details");
        if (detailsEl) {
            detailsEl.open = true; 
            var summaryEl = detailsEl.querySelector("summary");
            if (summaryEl) summaryEl.textContent = "字幕(シーン)はここをクリック";
        }

        // 行ごとに見えない箱(span)で梱包
        if (!listContainer.dataset.formatted) {
            var html = listContainer.innerHTML;
            var lines = html.split(/<br\s*\/?>/i);
            var newHtml = "";
            for(var j=0; j<lines.length; j++) {
                if(lines[j].trim() === "") continue;
                newHtml += "<span class='imk-line'>" + lines[j] + "</span><br>";
            }
            listContainer.innerHTML = newHtml;
            listContainer.dataset.formatted = "true";
        }
    }

    /* --- 4. クリックシーク機能 --- */
    function parseTs(ts) {
      if (!ts) return null;
      var t = ts.trim();
      var parts = t.split(':').map(function(v){ return parseInt(v, 10); });
      if (parts.length === 2 && parts.every(Number.isFinite)) {
        return parts[0] * 60 + parts[1];
      } else if (parts.length === 3 && parts.every(Number.isFinite)) {
        return parts[0] * 3600 + parts[1] * 60 + parts[2];
      }
      return null;
    }

    target.addEventListener('click', function(e) {
      var a = e.target.closest('a.imk-cue');
      if (!a) return;
      e.preventDefault();
      var sec = null;
      if (a.dataset.seconds) {
        sec = Number(a.dataset.seconds);
      } else if (a.dataset.seek) {
        sec = parseTs(a.dataset.seek);
      }
      if (sec !== null && Number.isFinite(sec)) {
        player.setCurrentTime(sec).then(function(){ player.play(); }).catch(function(){});
      }
    });

    /* --- 5. 同期ハイライトと自動スクロール --- */
    player.on('timeupdate', function(data) {
      // Vimeoプレーヤーが勝手に字幕を出していたら隠す（最強ガード）
      player.getTextTracks().then(function(tracks) {
          var activeTrack = tracks.find(function(t){ return t.mode === 'showing'; });
          if (currentMode === "hidden" && activeTrack) {
              useNormalMode();
          }
      }).catch(function(){});

      var currentTime = data.seconds;
      var listContainer = target.querySelector('details > p');
      if (!listContainer) return;

      var cues = listContainer.querySelectorAll('a.imk-cue');
      if (cues.length === 0) return;

      var activeA = null;
      for (var i = 0; i < cues.length; i++) {
        var sec = null;
        if (cues[i].dataset.seconds) {
            sec = Number(cues[i].dataset.seconds);
        } else if (cues[i].dataset.seek) {
            sec = parseTs(cues[i].getAttribute('data-seek'));
        }
        if (sec !== null && currentTime >= sec - 0.5) {
          activeA = cues[i];
        } else if (sec > currentTime) {
          break;
        }
      }

      if (activeA) {
          var activeLine = activeA.closest(".imk-line");
          if (!activeLine) activeLine = activeA;

          if (activeLine.classList.contains("active-hl")) return;

          // 全行の色を徹底的にリセット
          var allLines = listContainer.querySelectorAll(".imk-line");
          for(var k=0; k<allLines.length; k++) {
              allLines[k].classList.remove("active-hl");
              allLines[k].removeAttribute("style");
          }
          var allLinks = listContainer.querySelectorAll("a");
          for(var m=0; m<allLinks.length; m++) {
              allLinks[m].classList.remove("active-hl");
              allLinks[m].removeAttribute("style");
          }

          // 新しい行に赤文字・黄色背景を直接塗る
          activeLine.classList.add("active-hl");
          activeLine.style.setProperty("background-color", "#ffff00", "important");
          activeLine.style.setProperty("color", "red", "important");
          activeLine.style.setProperty("font-weight", "normal", "important");
          
          var newLinks = activeLine.querySelectorAll("a");
          for(var n=0; n<newLinks.length; n++) {
              newLinks[n].style.setProperty("color", "red", "important");
              newLinks[n].style.setProperty("text-decoration", "none", "important");
          }

          // スクロール処理
          if (listContainer.offsetParent !== null) {
              var containerRect = listContainer.getBoundingClientRect();
              var activeRect = activeLine.getBoundingClientRect();
              var targetScroll = listContainer.scrollTop + (activeRect.top - containerRect.top) - (listContainer.clientHeight / 2) + (activeLine.clientHeight / 2);
              listContainer.scrollTo({
                  top: targetScroll,
                  behavior: "smooth"
              });
          }
      }
    });
  })();
  </script>

  <style>
  .sc-vimeo-embed .iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: visible;
  }
  .sc-vimeo-embed .iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* 行梱包時の基本スタイル（干渉防止のためクラス内で指定） */
  .sc-vimeo-embed .imk-line {
      display: inline-block;
      width: 100%;
      border-radius: 2px;
      transition: background-color 0.1s;
  }

  /* ▼ 字幕一覧（details）の見た目調整 */
  .sc-vimeo-embed details > p {
    font-size: 14px !important;
    line-height: 1.6;
    height: 200px !important; 
    overflow: auto;
    background-color: #EDF7FF;
    padding: 2px 6px;
    margin: 0;
    box-shadow: 3px 3px 4px black;
    position: relative; 
  }
  .sc-vimeo-embed details > summary {
    font-size: 14px !important;
    padding: 2px 6px;
    width: 100%;
    background-color: #ddd;
    border: none;
    box-shadow: 3px 3px 4px black;
    cursor: pointer;
    list-style: none;
  }
  </style>
</div>



<p></p>



<hr class="wp-block-separator has-text-color has-key-color-color has-alpha-channel-opacity has-key-color-background-color has-background is-style-dots"/>



<p>上のビデオをご覧ください。</p>



<p>５年近く使ってきたIntel Mac miniから、新しいM2 Mac miniへ移行しました。数多く語られている「AppleシリコンMacへの移行時のトラブル」ですが、私としてもブログへ備忘録として残すようにします。今日はそのうちの一つを紹介します。まあ、トラブルのレベルとしては軽微です。</p>



<p>Intel Mac miniは動画のレンダリングが非力で、外付けeGPUを使っていました。M2 Mac miniは、そのGPUを内蔵したため、eGPUは不要となりました。それは、とても嬉しいことなのですけれどね<a rel="noopener" target="_blank" href="https://imakat.synology.me/wp-content/pmedia/スクリーンショット_2023-06-20_5.27.37.png">（図解）<span class="fa fa-external-link external-icon anchor-icon"></span></a>。</p>



<p></p>



<hr class="wp-block-separator has-text-color has-key-color-color has-alpha-channel-opacity has-key-color-background-color has-background is-style-wide"/>



<h3 class="wp-block-heading">ポイント解説</h3>



<h4 class="wp-block-heading">1 　STREAM DECKの「遅延」アクションは素晴らしい。</h4>



<p>今回、STREAM DECKを使いました。</p>



<p>掲載したビデオでは、「遅延」は、デフォルトの1000ミリ秒のままでした。しかし、この動画の撮影後、Macを再起動して、Final Cut Proを起動したところ、うまくいったりいかなかったりと不安定になりました。そこで6000ミリ秒に設定しました。その後、安定していて失敗はありません。</p>



<p>STREAM DECKは、子供の積み木やレゴの感覚で動作を組み立てる、そういった親しみやすさがありますが、<strong>この「遅延」という着想は</strong>、更に、素晴らしいです。まさに「さじ加減」「アナログ感覚」「チューニング感覚」を取り込んでいる点は、<strong>人間的でホッとします。</strong></p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=LQm9LysO.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=LQm9LysO.png" alt=""/></a></figure>



<p>これでうまく反応しない場合は、以下のように、再度、同じ設定を追加すると、大抵はうまくいくでしょう。それか、もう一度ボタンを押すと反応するでしょう。</p>



<figure class="wp-block-image size-large"><a href="https://imakat.com/rd.php?id=GiYopTnD.png" target="_blank"><img decoding="async" src="https://imakat.com/rd.php?id=GiYopTnD.png" alt=""/></a></figure>



<p>アプリ中のルーチンなキー操作を行わせるのに、STREAM DECKを使いましたが、他の方法としては、Appleスクリプトを使うのが、機器が不要な、普通の手段かも知れません。あるいはLogicoolでMXキーボードを既にお持ちの方は、Smart Actions機能なるものが新たに提供され、キーボードに、こうした連続アクションを登録できるようですので便利そうですが、ただ、視認性という点では、STREAM DECKが優れているでしょう。</p>



<h4 class="wp-block-heading">２　AppleシリコンMac(例えばM2 Mac mini)への移行問題は、音楽制作(DTM)が最もやっかい。　</h4>



<p>今回、Intel Mac miniからM2 Mac miniへ移行したわけですが、動画制作については最高の評価ばかり語られていて、反面、音楽制作については、いい話は全く無く、特に、音源アプリ群の継承については難題だったわけです。とは言うものの、困難と騒がれたM1 Macが出た時から、既に数年経過してきて、メーカーの対応の進展、ユーザーの工夫なども進んできたので、移行を、決心した次第です。</p>



<p>しかし今後は、新しいものに飛びつくような事は、避けていきます。</p>



<div class="wp-block-cocoon-blocks-iconlist-box iconlist-box blank-box list-check block-box has-border-color has-key-color-border-color"><div class="iconlist-title">音楽制作をM2 Macへ移行する際の、私としての方針</div>
<ol class="wp-block-list has-yellow-background-color has-background">
<li>この際、過去の音楽データは、完成品、MIDIデータおよびオーディオ素材だけと割り切ること。</li>



<li>全部を復旧させるのは諦めて、再利用したいMIDIデータおよびオーディオデータのみを、新しい音源環境上で、工夫して利用すること。</li>



<li>(高齢者なので)使用頻度の低い音源メーカーは捨てて、頻度の高い二〜三社のメーカーに絞り込むこと。</li>
</ol>
</div>



<p>特に３番目についてですが、私も高齢者の部類に入ってきて感じるところですが、細かいことまで覚えられない、昔のことが思い出せない、そうした衰えがあります。また、最近の傾向として、音源プラグインの提供メーカーも単体販売からサブスクが増加しています。サブスクは、自分が使わない音源のコストも負担することになり、私のように、制作の頻度が低い人にとっては、割高過ぎます。いやサブスクを否定するわけではなく、サブスクを利用するようなメーカーは最小限に絞りたい。今回のような機器やOSの変更の機会があるごとに、物も情報も、断捨離・統合を行なって、少なく小さくすることが大切だと思います。もちろん、ITや音楽制作は、認知症予防に役に立ちますので、マイペースで続けていきます。</p>



<p>Cubaseなどの音楽制作アプリをM2 Mac miniで動かす上での課題と対策については、引き続き、ブログへ掲載するようにしたいと思います。</p>



<p>以上　</p>



<p></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">17149</post-id>	</item>
	</channel>
</rss>
