スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 多分、二度目か三度目 | トップページ | 映像表示が可能に »

一週間で何とかなるのか?

今はmacOS用AGMPlayerの開発フェーズで、まずは、その準備も兼ねて、macOS用AG-ムービーカッターを開発しているのだが、既に、必要な部品は全て揃っているので、後は、それらを組み合わせてソフト化するだけだ。しかし、Windows版のコード量は半端ではないので・・・

AGMPlayerの前にAG-ムービーカッターを開発しているのは、AGMPlayerにはネットワーク視聴機能だとか、ストリーム再生/録画機能だとかがあるからだ。

つまり、AGMPlayerよりも、AG-ムービーカッターの方が、本質的には、単純なので、まずは、こちらから開発し、AGMPlayerの開発では、その成果を使う格好にして、開発を容易化しようとしている訳だ。

と、いう事なので、作者的には、AG-ムービーカッターの開発に時間がかかる様だと、先行きが危ぶまれる訳なので、AG-ムービーカッターについては、今週中くらいで、基本的な動作は可能にしておきたい。

なので、気持ちは焦っているのだが、Mac用のネイティブソフトの場合、基本的には、Objective-Cでコードを書く必要があり、移植元のWindows版はC++で書かれている。

で、既に、Windows版からの移植を行ったMirror-DTCについては、Windows版のコードを、基本的には、そのままメインコードとして動作させていて、Mac用のAPIを使わざるを得ない処理についてのみ、Wrapper関数を呼び出す格好にしている。

これは、そうした方が、Mirror-DTCとしての機能を、深く鑑みる事なく、完全な形で移植できたからなのだが、AG-ムービーカッターについては、メインコードはObjective-C++で作りなおそうか、と、思っている。

作りなおす、といっても、Objective-C++のコードは、基本的には、C++のコードになる訳なので、C++で記述しているWindows版のコードをコピーして持ってこれる。

何故、そうしようと思っているのか、というと、そういう格好にしておくと、Mac用のAPIを呼び出す為にWrapper関数を別途作成する必要がなくなるので、より、開発が楽になるからだ。

もっとも、Objective-C++のコードは、実質的に、別OSでは利用できないので、そんなコードを沢山書くと、割に合わなくなる。

と、いう事で、何だかなあ、という気もしているのだが、Ubuntu版AG-ムービーカッターは既に動作している訳なので、Mac版AG-ムービーカッターについては、より短絡的に、Mac用ソフトとして楽に開発してみようか、と、している訳だ。

ちなみに、何故、Mirror-DTCについては、C++コードメインの格好で移植し、AG-ムービーカッターについては、メインコードをObjective-C++で書き直そうとしているのか、というと、AG-ムービーカッターのメインコードは単純だからだ。

具体的には、Mirror-DTCのメインコードは、UIスレッドとは別のワーキングスレッドで動作していて、UI動作とは無関係に動作している。

これに対して、AG-ムービーカッターのメインコードは、基本的には、UIからのイベントに応じて動作する格好になっているので、一つ一つの処理は単純だし、UIとも切り離し辛い。

と、いう事なので、こちらについては、Objective-C++でコードを書き直した方が楽そうなので、そうしてみるつもりなのだが、前述の様に、Objective-C++のコードはMac以外では使えないので、あまりやりたくない作業ではある。

まあ、仕様が安定せず、Xcodeがバージョンアップされる度に、手持ちのコードがコンパイルできなくなる様な言語で書くよりは、よっぽど、効率的ではあるのだが。

« 多分、二度目か三度目 | トップページ | 映像表示が可能に »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/64917250

この記事へのトラックバック一覧です: 一週間で何とかなるのか?:

« 多分、二度目か三度目 | トップページ | 映像表示が可能に »

2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google