約 3,873,215 件
https://w.atwiki.jp/titanquest/pages/82.html
マジック レアマジック エピック 武器 斧 弓 棍棒 盾 槍 杖 剣 投擲(Ragnarök) エピック 防具 頭 首 胴 腕 指 脚 レジェンダリー 武器 斧 弓 棍棒 盾 槍 杖 剣 投擲(Ragnarök) レジェンダリー 防具 頭 首 胴 腕 指 脚 セットアイテム/(AE版) モンスターレアアイテム/(AE版) 効果の説明 [リンク表の編集] レジェンダリー - 指(AE) レジェンダリー - 指 レジェンダリー - 指(AE) 名前 レベル 性能 備考 Alkeアルケ 34 +60 腕力+19% 腕力-20% 全ての武器装備に必要な腕力バトル・レイジ +3 「グレディエーター クリード」セットの一つ Timaiosティマイオス 34 +310 ヘルス+18% ヘルス-20% 防具装備に必要な腕力バトル・アウェアネス +3 「グラディエーター クリード」セットの一つ Thoth s Markトト マーク 34 26% エレメンタル耐性+19% 知性+21% エナジー+17% エナジー回復 「トートズフェイバー」セットの一つ Ring of Gaiaリング オブ ガイア 36 37% エレメンタル耐性+30 知性+165 ヘルス+101% ヘルス回復+86% エナジー回復トランキリティ・オブ・ウォーター +2イラプション +2 Chiron s Loopケイロン ループ 36 40% 刺突耐性38% 毒耐性+25 敏捷性+29% ヘルス回復+90 エナジー+117 防御アビリティ7% 攻撃回避率 習得スキル エンスネア Lv5 Celestial Bandセレスティアル バンド 37 31% エレメンタル耐性+31% エレメンタルダメージ+30 知性+135 ヘルス+1.0 毎秒回復するヘルス+147 エナジー+1.0 毎秒回復するエナジー-25 予約されたエナジー消費量 Crest of MuRongクレスト オブ ムォン 38 17% 刺突耐性20% 出血耐性19% エレメンタル耐性20% 毒耐性23% 生命力吸収耐性20% エナジー吸収耐性17% 気絶耐性19% スキル使用不可から保護+120 ヘルス+89 エナジー+42 攻撃アビリティ+48 防御アビリティ Eurydice s Wedding Bandエウリュディケ ウェディング バンド 39 30% エレメンタル耐性44% 睡眠耐性+18% 生命力ダメージ+10% ヘルス+10% エナジー+10% 攻撃アビリティ+10% 防御アビリティ 習得スキル ディストート・リアリティ Mark of the Overlordマーク オブ ザ オーバーロード 39 9.0% の確率で 114% 物理耐性57% 出血耐性32% 睡眠耐性+400 ヘルス+228 防御アビリティ10% スペルエナジー吸収 Black Pearl Ringブラック パール リング 39 20% エレメンタル耐性+42% 生命力吸収+175 ヘルス+145 エナジー全てのペットへのボーナス +12% エレメンタルダメージ 80 エレメンタルダメージ 「カースドジュエル」セットの一つ Eye of Horusアイ オブ ホルス 40 29% エレメンタル耐性23% 冷気耐性+41 知性+174 エナジー+1.0 毎秒回復するエナジー+57% エナジー回復-10% エナジー消費 Mark of Aresマーク オブ アレス 40 37ダメージ10.0% の確率で+360% 物理ダメージ+46 腕力+155 ヘルス+101攻撃アビリティクラッシュ・ブロウ +2 Arbruringアルブルリング 41 +32% 電熱火傷ダメージ+31% 生命力ダメージ66 生命力吸収/3秒間+24% 生命力吸収+27 腕力+25 知性+87 攻撃アビリティサイオニック・タッチ +2サイオニック・バーン +2 Seal of Hephaestusシール オブ ヘパイストス 41 10.0% の確率で 115% 物理耐性63% 炎耐性123 火傷ダメージ/3秒間+77% 炎ダメージ+68% 火傷ダメージ+250ヘルスブリムストーン +2 習得スキル ヒート・シールド Lv11 Apollo s Willアポロン ウィル 42 34% 刺突耐性37% 炎耐性54% 毒耐性+116% 刺突ダメージ+37 敏捷性+110 ヘルス50% 発射速度増加ヴォレー +1アート・オブ・ハント +1 Band of Soulsバンド オブ ソウルズ 44 84% 生命力ダメージ耐性99% 生命力吸収耐性100% エナジー吸収耐性30.0% 次の中のどれかの確率 126~144生命力吸収反撃/3秒間 141~177エナジー吸収反撃/3秒間+80% 生命力吸収+60% エナジー吸収+45% エナジー回復吸収+40防御アビリティエンスレイブ・スピリット +2スピリット・ウォード +2 Archimedes Cogwheelアルキメデス コグホイール 45 38% 冷気耐性38% 雷耐性次の中のどれかの確率 +27% 炎ダメージ +29% 冷気ダメージ +30% 雷ダメージ +28~32 炎ダメージ +29~38 冷気ダメージ +19~48 雷ダメージ+42 知性+110 ヘルス+44% エナジー回復13% スペルエナジー吸収 Persephone s Ringペルセポネ リング 45 45% エレメンタル耐性23% スキル使用不可から保護+5% 総合ダメージ+24% 冷気ダメージ+50 敏捷性+111 防御アビリティ-10% エナジー消費25% 発射速度増加 Eye of Reveriesアイ オブ レバリー 47 60% 雷耐性18% 生命力ダメージ耐性+9% 電熱火傷ダメージ+10% 腕力+10% 知性+164 攻撃アビリティ+150 防御アビリティサモン・ナイトメア +2マスター・マインド +2 Star of Elysiumスター オブ エリュシオン 47 41% 刺突耐性42% 毒耐性+15% 物理ダメージ+17% 刺突ダメージ+40% 出血ダメージ+37% 毒ダメージ+32 腕力+700 ヘルス+5.0 毎秒回復するヘルス レジェンダリー - 指 名前 レベル 入手可能エリア Alke 34 Thoth s Mark 34 Timaios 34 Chiron s Loop 36 Ring of Gaia 36 Eye of Flame 36 Celestial Band 37 Black Pearl Ring 39 Eurydice s Wedding Band (IT) 39 Mark of the Overlord (IT) 39 Arbruring (IT) 40 Eye of Horus 40 Mark of Ares 40 Seal of Hephaestus 40 Apollo s Will 42 Band of Souls 43 Archimedes Cogwheel 45 Persephone s Ring (IT) 45 Eye of Reveries (IT) 47 Star of Elysium (IT) 47
https://w.atwiki.jp/supakuro/pages/271.html
機体 ハインヘルム(アヤメ機) パイロット アマノミヤ・アヤメ(温泉) 武器 シールドアックス タイプ ディフェンダー パーツ 5 コスト 13 攻撃属性 通常 攻撃間隔 普通 飛行 ― 移動速度 低速 / 高速 サイズ M 成長タイプ 普通 地形適応 【空】― 【陸】A 【海】B 【宇】A 総合力 HP 攻撃力 装甲 運動性 無凸最大 9850 5730 4120 3870 3360 無凸改造 12550 7530 5020 4770 4260 4凸最大 11350 6730 4620 4370 3860 4凸改造 14950 9130 5820 5570 5060 +通常モード 必殺スキル シールドアックス(回転斬り) ×3 属性 通常 範囲上の敵全てに大ダメージ 精神スキル ・加速 (習得Lv:1) 一定時間、移動速度中アップ ・熱血 (習得Lv:30) 一定時間、攻撃力中アップ ・鉄壁 (習得Lv:60) 一定時間、被ダメージを中軽減 アビリティ ・インファイトLv.2 (初期習得) 攻撃力、移動速度アップ ・隠れ宿の秘湯効能 攻撃力、クリティカル率アップ ・天誅 クリティカル攻撃にバリア貫通を付与 ・浴衣の勢い(レベル65で習得可能) 敵を撃破するごとに攻撃力アップ、装甲大アップ 【評価】 +アリーナモード 必殺スキル シールドアックス(回転斬り) ×1 属性 通常 威力210%のバリア貫通攻撃。50%で2ターン敵を必殺封印にする 精神スキル ・加速 2ターン、行動力アップ(再使用まで6ターン) ・熱血 1ターン、与えるダメージが40%アップ(再使用まで6ターン) ・鉄壁 2回だけ受けるダメージを半減(再使用まで4ターン) アビリティ ・インファイトLv.2 攻撃力10%アップ、行動力アップ ・隠れ宿の秘湯効能 自分のターン開始時、攻撃力、回避率20%アップ、行動力アップ ・天誅 通常攻撃で敵のバリア貫通 ・浴衣の勢い(レベル65で習得可能) 通常攻撃に10%で2ターンの必殺封印を付与 EXアビリティ ・追撃Lv.3 HP99%以下の敵に対して、攻撃力40%アップ 【評価】 コメント すべてのコメントを見る
https://w.atwiki.jp/sakatsukuds2010/pages/366.html
フェンロFC オランダ・エールディヴィジ所属、VVVフェンロがモデル。ただしスタンダール・リエージュやアンデルレヒト、クラブ・ブルージュといったベルギーリーグ所属の選手が中心になっている。イングランドリーグのフレンドリーマッチで対戦可能。 チーム編成 右の編集でデータを入力したあと、下の「新しい行として追加」にチェックを入れることで行が増えます 名前 国籍 コスト ポジ 備考 編集 プロト ベルギー 4 GK Fマッチで獲得可 編集 デシャフト ベルギー 4 DF - 編集 バン・ダンメ ベルギー 5 DF Fマッチで獲得可 編集 吉口 広哉 日本 3 DF 吉田 麻也 EXレア 編集 ロレンツォ・ダービッツ オランダ 4 MF Fマッチで獲得可 編集 本田 圭佑 日本 5 MF レア Fマッチで獲得可 編集 エムバミ カメルーン 5 MF - 編集 デフール ベルギー 4 MF Fマッチで獲得可 編集 ソンク ベルギー 5 FW EX Fマッチで獲得可 編集 デ・カマルゴ ベルギー 4 FW - 編集 シュタイネン ベルギー 4 GK - 編集 ファン・フェッセム オランダ 5 DF - 編集 バルテレ オランダ 5 DF - 編集 ダウニー 北アイルランド 2 DF - 編集 ルメレン ノルウェー 3 DF - 編集 ラトカ ポーランド 4 DF - 編集 クルモフ ブルガリア 2 MF - 編集 ソブレロ スウェーデン 2 MF - 編集 ヨヴィッチ セルビア 6 FW ミラン・ヨバノビッチ 編集 ファン・デル・プラス オランダ 5 FW - 編集 ミケルセン ノルウェー 3 FW - 編集 アセンシオ アルゼンチン 4 FW - 編集 抽出テーブル:テーブル-フェンロFC
https://w.atwiki.jp/1548908-card/pages/1860.html
OCGパック:PREMIUM PACK 9(OCG):PREMIUM PACK(OCG) 解説 ジャンプフェスタ2006の会場で先行販売 一般発売は2006年3月開始 全10種。1パック5枚入り モンスターカード(00種) 効果モンスターカード(07種) 督戦官コヴィントン(シークレット) マシンナーズ・スナイパー(シークレット) マシンナーズ・ソルジャー(シークレット) マシンナーズ・ディフェンダー(シークレット) マシンナーズ・フォース(シークレット) アックス・ドラゴニュート(シークレット) ランサー・ドラゴニュート(シークレット) 融合モンスター(01種) E・HERO エリクシーラー(シークレット) 儀式モンスター(00種) シンクロモンスター(00種) 魔法(02種) クリボーを呼ぶ笛(シークレット) ミスト・ボディ(シークレット) 罠(00種)
https://w.atwiki.jp/hishou-g/pages/42.html
xREOx キャラ紹介 キャラ名 官職 コメント レベル 職業 ニックネーム xREOx(よみがな) コメント 名前 コメント
https://w.atwiki.jp/bmd_intensity/pages/26.html
//----------------------------------------------------------------------------- // $Id DecklinkCaptureDlg.cpp,v 1.9 2006/04/11 01 11 07 ivanr Exp $ // // Desc DirectShow capture sample // // Copyright (c) Blackmagic Design 2005. All rights reserved. //----------------------------------------------------------------------------- #include "stdafx.h" #include "DecklinkCapture.h" #include "DecklinkCaptureDlg.h" #include initguid.h // TODO move this to a lib #include "DecklinkSample_uuids.h" #undef lstrlenW #ifdef _DEBUG #define new DEBUG_NEW #endif #define WM_GRAPHNOTIFYWM_APP+1// for Filter Graph event notification //----------------------------------------------------------------------------- // CAboutDlg //----------------------------------------------------------------------------- // CAboutDlg dialog used for App About class CAboutDlg public CDialog { public CAboutDlg(); // Dialog Data enum { IDD = IDD_ABOUTBOX }; protected virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected DECLARE_MESSAGE_MAP() }; CAboutDlg CAboutDlg() CDialog(CAboutDlg IDD) { } void CAboutDlg DoDataExchange(CDataExchange* pDX) { CDialog DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() //----------------------------------------------------------------------------- // CDecklinkCaptureDlg dialog //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // Constructor // CDecklinkCaptureDlg CDecklinkCaptureDlg(CWnd* pParent /*=NULL*/) CDialog(CDecklinkCaptureDlg IDD, pParent) , m_pIVW(NULL) { m_hIcon = AfxGetApp()- LoadIcon(IDR_MAINFRAME); } //----------------------------------------------------------------------------- // DoDataExchange // void CDecklinkCaptureDlg DoDataExchange(CDataExchange* pDX) { CDialog DoDataExchange(pDX); DDX_Control(pDX, IDC_COMBO_VIDEOFORMATS, m_videoFormatCtrl); DDX_Control(pDX, IDC_COMBO_AUDIOFORMATS, m_audioFormatCtrl); DDX_Control(pDX, IDC_STATIC_PREVIEW, m_preview); DDX_Control(pDX, IDC_EDIT_CAPTUREFILE, m_captureFileCtrl); DDX_Control(pDX, IDC_COMBO_COMPRESSION, m_compressionCtrl); DDX_Control(pDX, IDC_COMBO_VIDEODEVICE, m_videoDeviceCtrl); DDX_Control(pDX, IDC_COMBO_AUDIODEVICE, m_audioDeviceCtrl); } BEGIN_MESSAGE_MAP(CDecklinkCaptureDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_CBN_SELCHANGE(IDC_COMBO_VIDEOFORMATS, OnCbnSelchangeComboVideoformats) ON_CBN_SELCHANGE(IDC_COMBO_AUDIOFORMATS, OnCbnSelchangeComboAudioformats) ON_BN_CLICKED(IDC_CHECK_AUDIOMUTE, OnBnClickedCheckAudiomute) ON_BN_CLICKED(IDC_BUTTON_BROWSE, OnBnClickedButtonBrowse) ON_BN_CLICKED(IDC_BUTTON_CAPTURE, OnBnClickedButtonCapture) ON_BN_CLICKED(IDC_BUTTON_STOP, OnBnClickedButtonStop) ON_CBN_SELCHANGE(IDC_COMBO_COMPRESSION, OnCbnSelchangeComboCompression) ON_CBN_SELCHANGE(IDC_COMBO_VIDEODEVICE, OnCbnSelchangeComboVideodevice) ON_CBN_SELCHANGE(IDC_COMBO_AUDIODEVICE, OnCbnSelchangeComboAudiodevice) END_MESSAGE_MAP() //----------------------------------------------------------------------------- // CDecklinkCaptureDlg message handlers //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // OnInitDialog // Called before the dialog is displayed, use this message handler to initialise // our app BOOL CDecklinkCaptureDlg OnInitDialog() { CDialog OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu- AppendMenu(MF_SEPARATOR); pSysMenu- AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application s main window is not a dialog SetIcon(m_hIcon, TRUE);// Set big icon SetIcon(m_hIcon, FALSE);// Set small icon // create a basic capture graph and preview the incoming video m_pGraph = NULL; m_pVideoCapture = NULL; m_pAudioCapture = NULL; m_pVideoRenderer = NULL; m_pSmartT = NULL; m_pControl = NULL; m_pIVW = NULL; m_pMediaEvent = NULL; m_ROTRegister = 0; m_bAudioMute = FALSE; m_compressor = 0; m_bEnableCompressionCtrl = TRUE; m_captureFile = " Select File "; // initialise default video media type ZeroMemory( m_vihDefault, sizeof(m_vihDefault)); m_vihDefault.AvgTimePerFrame = 333667; m_vihDefault.bmiHeader.biWidth = 720; m_vihDefault.bmiHeader.biHeight = 486; m_vihDefault.bmiHeader.biBitCount = 16; m_vihDefault.bmiHeader.biCompression = YVYU ; // initialise default audio media type ZeroMemory( m_wfexDefault, sizeof(m_wfexDefault)); m_wfexDefault.nChannels = 2;// the only field of interest // retrieve last state QueryRegistry(); m_captureFileCtrl.SetWindowText(m_captureFile); EnableControls(); // create a preview graph // add the filters that will be used by all the graphs; preview, uncompressed capture, dv capture, // mpeg capture and windows media capture HRESULT hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, reinterpret_cast void** ( m_pGraph)); if (SUCCEEDED(hr)) { #ifdef _DEBUG hr = CDSUtils AddGraphToRot(m_pGraph, m_ROTRegister); #endif hr = m_pGraph- QueryInterface(IID_IMediaControl, reinterpret_cast void** ( m_pControl)); if (SUCCEEDED(hr)) { // locate the video capture devices hr = PopulateDeviceControl( CLSID_VideoInputDeviceCategory, m_videoDeviceCtrl); if (SUCCEEDED(hr)) { hr = PopulateDeviceControl( CLSID_AudioInputDeviceCategory, m_audioDeviceCtrl); if (SUCCEEDED(hr)) { PWSTR pVideoName = (PWSTR)m_videoDeviceCtrl.GetItemData(m_videoDeviceCtrl.SetCurSel(0)); PWSTR pAudioName = (PWSTR)m_audioDeviceCtrl.GetItemData(m_audioDeviceCtrl.SetCurSel(0)); if (pVideoName pAudioName) { hr = CDSUtils AddFilter2(m_pGraph, CLSID_VideoInputDeviceCategory, pVideoName, m_pVideoCapture); if (SUCCEEDED(hr)) { hr = CDSUtils AddFilter2(m_pGraph, CLSID_AudioInputDeviceCategory, pAudioName, m_pAudioCapture); if (SUCCEEDED(hr)) { PopulateVideoControl();// populate the video format control with the video formats of the currently selected device PopulateAudioControl();// populate the audio format control with the audio formats of the currently selected device PopulateCompressionControl(); // locate video screen renderer for the preview window hr = CDSUtils AddFilter(m_pGraph, CLSID_VideoRendererDefault, L"Video Renderer", m_pVideoRenderer); if (SUCCEEDED(hr)) { hr = CreatePreviewGraph(); } } } } } } } } return TRUE; // return TRUE unless you set the focus to a control } //----------------------------------------------------------------------------- // DestroyWindow // Called when the window is being destroyed, clean up and free all resources. BOOL CDecklinkCaptureDlg DestroyWindow() { m_regUtils.Close(); #ifdef _DEBUG CDSUtils RemoveGraphFromRot(m_ROTRegister); #endif DestroyGraph(); SAFE_RELEASE(m_pControl); // Hide Video Window and remove owner. This has to be done prior to // destroying any window that displays video/still. if (m_pIVW) { m_pIVW- put_Visible(OAFALSE); m_pIVW- put_Owner(NULL); } SAFE_RELEASE(m_pIVW); SAFE_RELEASE(m_pMediaEvent); SAFE_RELEASE(m_pVideoRenderer); SAFE_RELEASE(m_pAudioCapture); SAFE_RELEASE(m_pVideoCapture); SAFE_RELEASE(m_pGraph); // free mediatypes attached to format controls int count = m_videoFormatCtrl.GetCount(); for (int item=0; item count; ++item) { DeleteMediaType((AM_MEDIA_TYPE*)m_videoFormatCtrl.GetItemData(item)); } count = m_audioFormatCtrl.GetCount(); for (int item=0; item count; ++item) { DeleteMediaType((AM_MEDIA_TYPE*)m_audioFormatCtrl.GetItemData(item)); } // release the device names attached to the item s data count = m_videoDeviceCtrl.GetCount(); for (item=0; item count; ++item) { PWSTR pName = (PWSTR)m_videoDeviceCtrl.GetItemData(item); delete [] pName; } count = m_audioDeviceCtrl.GetCount(); for (item=0; item count; ++item) { PWSTR pName = (PWSTR)m_audioDeviceCtrl.GetItemData(item); delete [] pName; } return CDialog DestroyWindow(); } //----------------------------------------------------------------------------- // OnSysCommand // void CDecklinkCaptureDlg OnSysCommand(UINT nID, LPARAM lParam) { if ((nID 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog OnSysCommand(nID, lParam); } } //----------------------------------------------------------------------------- // OnPaint // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CDecklinkCaptureDlg OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, reinterpret_cast WPARAM (dc.GetSafeHdc()), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect( rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog OnPaint(); } } //----------------------------------------------------------------------------- // HandleGraphEvent // At the moment we just read the event, discard it and release memory used to store it. void CDecklinkCaptureDlg HandleGraphEvent(void) { LONG lEventCode, lEventParam1, lEventParam2; if (!m_pMediaEvent) { return; } while (SUCCEEDED(m_pMediaEvent- GetEvent( lEventCode, reinterpret_cast LONG_PTR * ( lEventParam1), reinterpret_cast LONG_PTR * ( lEventParam2), 0))) { // just free memory associated with event m_pMediaEvent- FreeEventParams(lEventCode, lEventParam1, lEventParam2); } } //----------------------------------------------------------------------------- // WindowProc // Have to add our own message handling loop to handle events from the preview video // window and to pass Window events onto it - this is so it redraws itself correctly etc. LRESULT CDecklinkCaptureDlg WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_GRAPHNOTIFY HandleGraphEvent(); break; } // Pass all msgs to video window. vid window exists as child of static // picture frame. This ensures video window redraws itself etc. if (m_pIVW) { m_pIVW- NotifyOwnerMessage(reinterpret_cast LONG_PTR (m_hWnd) /* from me */, message, wParam, lParam); } return CDialog WindowProc(message, wParam, lParam); } //----------------------------------------------------------------------------- // OnQueryDragIcon // The system calls this function to obtain the cursor to display while the user drags // the minimized window. HCURSOR CDecklinkCaptureDlg OnQueryDragIcon() { return static_cast HCURSOR (m_hIcon); } //----------------------------------------------------------------------------- // CreatePreviewGraph // Create a graph to preview the input // NOTE There are many ways of building graphs, you could opt for the ICaptureGraphBuilder interface which would // make things are lot simpler, however it doesn t always build the most efficient graphs. HRESULT CDecklinkCaptureDlg CreatePreviewGraph() { HRESULT hr = S_OK; if (m_pGraph) { // locate smart-T // NOTE The smart-T appears to hold references to its upstream connections even when its input pin // is diconnected. The smart-T has to be removed from the graph in order to clear these references which // is why the filter is enumerated and added every time the preview graph is built and removed whenever // it is destroyed. ASSERT(NULL == m_pSmartT); hr = CDSUtils AddFilter(m_pGraph, CLSID_SmartTee, L"Smart Tee", m_pSmartT); if (SUCCEEDED(hr)) { // DV preview is slightly different to all other previews if (ENC_DV != m_compressionCtrl.GetItemData(m_compressionCtrl.GetCurSel())) { // uncompressed, mpeg and wm preview // create the following // // Decklink Video Capture - Smart-T - AVI Decompressor - Video Renderer // Decklink Audio Capture - Default Audio Renderer // // render the preview pin on the smart-T filter // first connect the Decklink video capture pin to the smart-T hr = CDSUtils ConnectFilters(m_pGraph, m_pVideoCapture, NULL, m_pSmartT, NULL); if (SUCCEEDED(hr)) { // now connect the preview pin of the smart-T to the video renderer hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, L"Preview", m_pVideoRenderer, NULL); } } else { // DV Preview // create the following // // Decklink Video Capture - AVI Decompressor - Smart-T - Colour Space Converter - Video Renderer // Decklink Audio Capture - Default Audio Renderer // // this is a more efficient graph than created by the ICaptureGraphBuilder2 interface // add the AVI decompressor and colour space converter filters CComPtr IBaseFilter pAVIDecompressor = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_AVIDec, L"AVI Decompressor", pAVIDecompressor); if (SUCCEEDED(hr)) { CComPtr IBaseFilter pColourSpaceConverter = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_Colour, L"Color Space Converter", pColourSpaceConverter); if (SUCCEEDED(hr)) { // conect the Decklink video capture pin to the AVI decompressor hr = CDSUtils ConnectFilters(m_pGraph, m_pVideoCapture, NULL, pAVIDecompressor, NULL); if (SUCCEEDED(hr)) { // connect AVI decompressor to the smart-T hr = CDSUtils ConnectFilters(m_pGraph, pAVIDecompressor, NULL, m_pSmartT, NULL); if (SUCCEEDED(hr)) { // connect the preview pin of the smart-T to the colour space converter hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, L"Preview", pColourSpaceConverter, NULL); if (SUCCEEDED(hr)) { // connect the colour space converter to the video renderer hr = CDSUtils ConnectFilters(m_pGraph, pColourSpaceConverter, NULL, m_pVideoRenderer, NULL); } } } } } } } } else { hr = E_POINTER; } if (SUCCEEDED(hr)) { // the video path has been connected, initialise the preview window InitialiseVideoPreview(); // optionally connect the audio path if (FALSE == m_bAudioMute) { // connect the Decklink audio capture pin to the mux hr = CDSUtils RenderFilter(m_pGraph, m_pAudioCapture, L"Capture"); } // run the graph so that we can preview the input video if (m_pControl) { hr = m_pControl- Run(); } else { hr = E_POINTER; } } return hr; } //----------------------------------------------------------------------------- // CreateCaptureGraph // Create a graph to capture the input HRESULT CDecklinkCaptureDlg CreateCaptureGraph() { HRESULT hr = S_OK; // tack the file writer onto the preview graph if (m_pGraph m_pControl) { // stop the graph as we are about to modify it m_pControl- Stop(); // remove the default audio renderer so the Decklink audio capture filter // can be connected to the AVI mux, we will not preview audio whilst capturing CComPtr IPin pIPinOutput = NULL; hr = CDSUtils GetPin(m_pAudioCapture, L"Capture", pIPinOutput); if (SUCCEEDED(hr)) { // to disconnect both pins must be disconnected // find the pin connected to the Decklink audio capture pin CComPtr IPin pIPinConnection = NULL; hr = pIPinOutput- ConnectedTo( pIPinConnection); if (SUCCEEDED(hr)) { // disconnect the pins hr = m_pGraph- Disconnect(pIPinOutput); hr = m_pGraph- Disconnect(pIPinConnection); // get the owning filter of the downstream pin and remove it from the graph PIN_INFO pinInfo = {0}; hr = pIPinConnection- QueryPinInfo( pinInfo); if (SUCCEEDED(hr)) { if (pinInfo.pFilter) { hr = m_pGraph- RemoveFilter(pinInfo.pFilter); pinInfo.pFilter- Release(); } } } } // retrieve the capture filename m_captureFileCtrl.GetWindowText(m_captureFile); // store filename USES_CONVERSION; WCHAR captureFile[MAX_PATH]; wcsncpy(captureFile, A2W(m_captureFile), MAX_PATH); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetString("CaptureFile", reinterpret_cast const BYTE* (captureFile), sizeof(captureFile))); // decide the type of capture graph to build switch (m_compressionCtrl.GetItemData(m_compressionCtrl.GetCurSel())) { default case ENC_NONE hr = CreateUncompressedCaptureGraph(); break; case ENC_DV hr = CreateDVCaptureGraph(); break; case ENC_WM hr = CreateWMCaptureGraph(); break; } if (FAILED(hr)) { // there was a problem building the capture graph, issue a message // and rebuild preview graph char buffer[128]; StringCbPrintfA(buffer, sizeof(buffer), "The error 0x%08lx was detected when creating the capture graph with the following file name \r\n\r\n %s ", hr, m_captureFile); MessageBox(buffer, _T("Error"), MB_ICONERROR); OnBnClickedButtonStop();// destroy broken capture graph, build preview graph and enable controls } } else { hr = E_POINTER; } return hr; } //----------------------------------------------------------------------------- // CreateUncompressedCaptureGraph // Create an optimum uncompressed capture graph HRESULT CDecklinkCaptureDlg CreateUncompressedCaptureGraph() { HRESULT hr = S_OK; // uncompressed capture // locate the AVI mux and file writer filters and add them to the graph CComPtr IBaseFilter pAVIMux = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_AviDest , L"AVI Mux", pAVIMux); if (SUCCEEDED(hr)) { CComPtr IBaseFilter pFileWriter = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_FileWriter, L"File writer", pFileWriter); if (SUCCEEDED(hr)) { // set the output filename CComQIPtr IFileSinkFilter, IID_IFileSinkFilter pIFS = pFileWriter; if (pIFS) { USES_CONVERSION;// for T2W macro hr = pIFS- SetFileName(T2W(m_captureFile), NULL); if (SUCCEEDED(hr)) { // connect the smart-T capture pin to the mux hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, L"Capture", pAVIMux, NULL); if (SUCCEEDED(hr)) { // connect the mux to the file writer hr = CDSUtils ConnectFilters(m_pGraph, pAVIMux, NULL, pFileWriter, NULL); if (SUCCEEDED(hr)) { // video path connected now optionally connect the audio path if (FALSE == m_bAudioMute) { // connect the Decklink audio capture pin to the mux hr = CDSUtils ConnectFilters(m_pGraph, m_pAudioCapture, L"Capture", pAVIMux, NULL); } if (SUCCEEDED(hr)) { m_pControl- Run(); } } } } } } } return hr; } //----------------------------------------------------------------------------- // CreateDVCaptureGraph // Create an optimum DV capture graph // NOTE that this will only work for SD HRESULT CDecklinkCaptureDlg CreateDVCaptureGraph() { HRESULT hr = S_OK; // locate the DV encoder, AVI mux and file writer filters and add them to the graph CComPtr IBaseFilter pDVEncoder = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_DVVideoEnc, L"DV Video Encoder", pDVEncoder); if (SUCCEEDED(hr)) { CComPtr IBaseFilter pAVIMux = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_AviDest , L"AVI Mux", pAVIMux); if (SUCCEEDED(hr)) { CComPtr IBaseFilter pFileWriter = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_FileWriter, L"File writer", pFileWriter); if (SUCCEEDED(hr)) { // set the output filename CComQIPtr IFileSinkFilter, IID_IFileSinkFilter pIFS = pFileWriter; if (pIFS) { USES_CONVERSION;// for T2W macro hr = pIFS- SetFileName(T2W(m_captureFile), NULL); if (SUCCEEDED(hr)) { // configure the DV encoder CComQIPtr IDVEnc, IID_IDVEnc pIDV = pDVEncoder; if (pIDV) { // located a DV compression filter, set the format int videoFormat, dvFormat, resolution; hr = pIDV- get_IFormatResolution( videoFormat, dvFormat, resolution, FALSE, NULL); if (SUCCEEDED(hr)) { ASSERT(DVENCODERFORMAT_DVSD == dvFormat); ASSERT(DVENCODERRESOLUTION_720x480 == resolution); if ((DVENCODERVIDEOFORMAT_NTSC == videoFormat) (576 == m_vihDefault.bmiHeader.biHeight)) { // set the encoder to PAL if its NTSC videoFormat = DVENCODERVIDEOFORMAT_PAL; hr = pIDV- put_IFormatResolution(videoFormat, dvFormat, resolution, FALSE, NULL); } else if ((DVENCODERVIDEOFORMAT_PAL == videoFormat) (486 == m_vihDefault.bmiHeader.biHeight)) { // set the encoder to NTSC if its PAL videoFormat = DVENCODERVIDEOFORMAT_NTSC; hr = pIDV- put_IFormatResolution(videoFormat, dvFormat, resolution, FALSE, NULL); } } } if (SUCCEEDED(hr)) { // if the format is PAL, insert the Decklink field swap filter, PAL DV is the opposite // field order to PAL SD if (576 == m_vihDefault.bmiHeader.biHeight) { CComPtr IBaseFilter pPALFieldSwap = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_DecklinkFieldSwap, L"Decklink PAL Field Swap", pPALFieldSwap); if (SUCCEEDED(hr)) { // connect the smart-T capture pin to the PAL field swap filter hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, L"Capture", pPALFieldSwap, NULL); if (SUCCEEDED(hr)) { // connect the field swap filter to the DV encoder hr = CDSUtils ConnectFilters(m_pGraph, pPALFieldSwap, NULL, pDVEncoder, NULL); } } } else { // connect the smart-T capture pin to the DV Encoder hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, L"Capture", pDVEncoder, NULL); } if (SUCCEEDED(hr)) { // connect the DV encoder output to the AVI mux hr = CDSUtils ConnectFilters(m_pGraph, pDVEncoder, NULL, pAVIMux, NULL); if (SUCCEEDED(hr)) { // connect the mux to the file writer hr = CDSUtils ConnectFilters(m_pGraph, pAVIMux, NULL, pFileWriter, NULL); if (SUCCEEDED(hr)) { // video path connected now optionally connect the audio path if (FALSE == m_bAudioMute) { // connect the Decklink audio capture pin to the mux hr = CDSUtils ConnectFilters(m_pGraph, m_pAudioCapture, L"Capture", pAVIMux, NULL); } if (SUCCEEDED(hr)) { m_pControl- Run(); } } } } } } } } } } return hr; } //----------------------------------------------------------------------------- // CreateWMCaptureGraph // Create an optimum Windows Media capture graph HRESULT CDecklinkCaptureDlg CreateWMCaptureGraph() { HRESULT hr = S_OK; // locate the asf writer filter and add it to the graph CComPtr IBaseFilter pASFWriter = NULL; hr = CDSUtils AddFilter(m_pGraph, CLSID_WMAsfWriter, L"WM ASF Writer", pASFWriter); if (SUCCEEDED(hr)) { // set the output filename CComQIPtr IFileSinkFilter, IID_IFileSinkFilter pIFS = pASFWriter; if (pIFS) { USES_CONVERSION;// for T2W macro hr = pIFS- SetFileName(T2W(m_captureFile), NULL); if (SUCCEEDED(hr)) { hr = ConfigureWMEncoder(pASFWriter); } } if (SUCCEEDED(hr)) { if (FALSE == m_bAudioMute) { // connect the Decklink audio capture pin to the ASF writer hr = CDSUtils ConnectFilters(m_pGraph, m_pAudioCapture, pASFWriter, MEDIATYPE_Audio); } if (SUCCEEDED(hr)) { // connect the smart-T capture pin to the ASF writer hr = CDSUtils ConnectFilters(m_pGraph, m_pSmartT, pASFWriter, MEDIATYPE_Video); if (SUCCEEDED(hr)) { m_pControl- Run(); } } } } return hr; } //----------------------------------------------------------------------------- // ConfigureWMEncoder // Configure the Windows Media encoder HRESULT CDecklinkCaptureDlg ConfigureWMEncoder(IBaseFilter* pASFWriter) { HRESULT hr = S_OK; // modify the video output resolution of a system profile if (pASFWriter) { // simple system profile encoding CComQIPtr IConfigAsfWriter, IID_IConfigAsfWriter pICW = pASFWriter; if (pICW) { //NOTE You could just use the following for a default system profile //hr = pICW- ConfigureFilterUsingProfileGuid(WMProfile_XXX);// RE wmsysprf.h //NOTE If you want video only capture you must modify the profile to remove the audio // otherwise encoding will fail // Load a system profile and modify the resolution of the video output // NOTE The scope of the encoding is enormous, this just demonstrates how to change // the output video resolution from 320x240 to something larger. // Changing the resolution affects coding performance, it is likely that the encoder will // start to drop frames after a while. Using WM9 codecs will probably improve performance // and that has been left to the reader... ;o) // // get a profile manager CComPtr IWMProfileManager pIWMProfileManager = NULL; hr = WMCreateProfileManager( pIWMProfileManager); if (SUCCEEDED(hr)) { // load a system profile to modify CComPtr IWMProfile pIWMProfile = NULL; // NOTE Any WMProfile_XXX could be used here, or create a custom profile from scratch hr = pIWMProfileManager- LoadProfileByID(WMProfile_V80_FAIRVBRVideo, pIWMProfile); if (SUCCEEDED(hr)) { // search the streams for the video stream and attempt to modify the video size DWORD cbStreams = 0; hr = pIWMProfile- GetStreamCount( cbStreams); if (SUCCEEDED(hr)) { IWMStreamConfig* pIWMStreamConfig = NULL; GUID streamType = {0}; DWORD stream; if (m_bAudioMute) { // remove the audio stream for video only capture for (stream=0; stream cbStreams; ++stream) { hr = pIWMProfile- GetStream(stream, pIWMStreamConfig); if (SUCCEEDED(hr)) { hr = pIWMStreamConfig- GetStreamType( streamType); if (SUCCEEDED(hr)) { if (MEDIATYPE_Audio == streamType) { if (SUCCEEDED(pIWMProfile- RemoveStream(pIWMStreamConfig))) { --cbStreams; } SAFE_RELEASE(pIWMStreamConfig); break; } } } } } for (stream=0; stream cbStreams; ++stream) { hr = pIWMProfile- GetStream(stream, pIWMStreamConfig); if (SUCCEEDED(hr)) { hr = pIWMStreamConfig- GetStreamType( streamType); if (SUCCEEDED(hr) (MEDIATYPE_Video == streamType)) { // found the video stream CComQIPtr IWMMediaProps, IID_IWMMediaProps pIWMMediaProps = pIWMStreamConfig; if (pIWMMediaProps) { // get the size of the media type WM_MEDIA_TYPE* pMediaType = NULL; DWORD cbMediaType = 0; hr = pIWMMediaProps- GetMediaType(pMediaType, cbMediaType); if (SUCCEEDED(hr)) { pMediaType = (WM_MEDIA_TYPE*)new char [cbMediaType]; if (pMediaType) { hr = pIWMMediaProps- GetMediaType(pMediaType, cbMediaType); if (SUCCEEDED(hr)) { BITMAPINFOHEADER* pbmih = NULL; if (WMFORMAT_VideoInfo == pMediaType- formattype) { WMVIDEOINFOHEADER* pvih = (WMVIDEOINFOHEADER*)pMediaType- pbFormat; pbmih = pvih- bmiHeader; } else if (WMFORMAT_MPEG2Video == pMediaType- formattype) { WMVIDEOINFOHEADER2* pvih = (WMVIDEOINFOHEADER2*) ((WMMPEG2VIDEOINFO*)pMediaType- pbFormat)- hdr; pbmih = pvih- bmiHeader; } if (pbmih) { // modify the video dimensions, set the property, reconfigure the stream // and then configure the ASF writer with this modified profile pbmih- biWidth = 640;// was 320; pbmih- biHeight = 480;// was 240; pbmih- biSizeImage = pbmih- biWidth * pbmih- biHeight * pbmih- biBitCount / 8;// NOTE This calculation is not correct for all bit depths hr = pIWMMediaProps- SetMediaType(pMediaType); if (SUCCEEDED(hr)) { // config the ASF writer filter to use this modified system profile hr = pIWMProfile- ReconfigStream(pIWMStreamConfig); if (SUCCEEDED(hr)) { hr = pICW- ConfigureFilterUsingProfile(pIWMProfile); } } } } delete [] (char*)pMediaType; } } } } SAFE_RELEASE(pIWMStreamConfig); } } } } } /* // modify other ASF writer properties IServiceProvider* pProvider = NULL; hr = pASFWriter- QueryInterface(IID_IServiceProvider, reinterpret_cast void** ( pProvider)); if (SUCCEEDED(hr)) { IID_IWMWriterAdvanced2* pWMWA2 = NULL; hr = pProvider- QueryService(IID_IID_IWMWriterAdvanced2, IID_IID_IWMWriterAdvanced2, reinterpret_cast void** ( pWMWA2)); if (SUCCEEDED(hr)) { // set the deinterlace mode pWMWA2- GetInputSetting(...); SAFE_RELEASE(pWMWA2); } SAFE_RELEASE(pProvider); } */ } } else { hr = E_INVALIDARG; } return hr; } //----------------------------------------------------------------------------- // DestroyGraph // Remove all intermediate filters, keep any Decklink and video render filters as // these are used by all the graphs. HRESULT CDecklinkCaptureDlg DestroyGraph() { HRESULT hr = S_OK; if (m_pGraph m_pControl) { m_pControl- Stop(); // release our outstanding reference on this filter so it can be removed from the graph SAFE_RELEASE(m_pSmartT); // retrieve the name of the capture device, don t remove it in this method PWSTR pNameVideoCapture = (PWSTR)m_videoDeviceCtrl.GetItemData(m_videoDeviceCtrl.GetCurSel()); PWSTR pNameAudioCapture = (PWSTR)m_audioDeviceCtrl.GetItemData(m_audioDeviceCtrl.GetCurSel()); CComPtr IEnumFilters pEnum = NULL; hr = m_pGraph- EnumFilters( pEnum); if (SUCCEEDED(hr)) { IBaseFilter* pFilter = NULL; while (S_OK == pEnum- Next(1, pFilter, NULL)) { FILTER_INFO filterInfo = {0}; hr = pFilter- QueryFilterInfo( filterInfo); if (SUCCEEDED(hr)) { SAFE_RELEASE(filterInfo.pGraph); if ((NULL == wcsstr(filterInfo.achName, pNameVideoCapture)) (NULL == wcsstr(filterInfo.achName, pNameAudioCapture)) (NULL == wcsstr(filterInfo.achName, L"Video Renderer"))) { hr = m_pGraph- RemoveFilter(pFilter); if (SUCCEEDED(hr)) { hr = pEnum- Reset(); } } } SAFE_RELEASE(pFilter); } } } else { hr = E_POINTER; } return hr; } //----------------------------------------------------------------------------- // InitialiseVideoPreview // In short get the video screen renderer to draw into the picture control, which is our preview window // the following code sets this up, in addition to adding the HandleGraphEvent and WindowProc methods // read the DXSDK docos for more detailed information void CDecklinkCaptureDlg InitialiseVideoPreview(void) { // modify the preview window if (m_pVideoRenderer) { if (NULL == m_pIVW) { if (SUCCEEDED(m_pVideoRenderer- QueryInterface(IID_IVideoWindow, reinterpret_cast void** ( m_pIVW)))) { // get the window to handle redraws, etc // Set msg drain of VideoWindow to point to our dialog window. The dialog s // window procedure then handles events from the VideoWindow. HRESULT hr = m_pIVW- put_MessageDrain(reinterpret_cast OAHWND (m_hWnd)); if (NULL == m_pMediaEvent) { // Make graph send WM_GRAPHNOTIFY when it wants our attention see "Learning // When an Event Occurs" in the DX9 documentation. hr = m_pGraph- QueryInterface(IID_IMediaEventEx, reinterpret_cast void** ( m_pMediaEvent)); if (SUCCEEDED(hr)) { hr = m_pMediaEvent- SetNotifyWindow(reinterpret_cast OAHWND (m_hWnd), WM_GRAPHNOTIFY, 0); } // object created for it. RECT rc; m_preview.GetClientRect( rc); m_pIVW- SetWindowPosition(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top); // VideoWindow is a child window of the bounding rect hr = m_pIVW- put_WindowStyle(WS_CHILD); hr = m_pIVW- put_Owner(reinterpret_cast OAHWND (m_preview.GetSafeHwnd())); hr = m_pIVW- SetWindowForeground(-1); } } } } } //----------------------------------------------------------------------------- // PopulateDeviceControl // Fill device combo box with available devices of the specified category HRESULT CDecklinkCaptureDlg PopulateDeviceControl(const GUID* pCategory, CComboBox* pCtrl) { HRESULT hr = S_OK; if (pCategory pCtrl) { // first enumerate the system devices for the specifed class and filter name CComPtr ICreateDevEnum pSysDevEnum = NULL; hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, reinterpret_cast void** ( pSysDevEnum)); if (SUCCEEDED(hr)) { CComPtr IEnumMoniker pEnumCat = NULL; hr = pSysDevEnum- CreateClassEnumerator(*pCategory, pEnumCat, 0); if (S_OK == hr) { IMoniker* pMoniker = NULL; bool Loop = true; while ((S_OK == pEnumCat- Next(1, pMoniker, NULL)) Loop) { IPropertyBag* pPropBag = NULL; hr = pMoniker- BindToStorage(0, 0, IID_IPropertyBag, reinterpret_cast void** ( pPropBag)); if (SUCCEEDED(hr)) { VARIANT varName; VariantInit( varName); hr = pPropBag- Read(L"FriendlyName", varName, 0); if (SUCCEEDED(hr)) { size_t len = wcslen(varName.bstrVal) + 1; PWSTR pName = new WCHAR [len]; StringCchCopyW(pName, len, varName.bstrVal); CW2AEX buf(varName.bstrVal); pCtrl- SetItemData(pCtrl- AddString(buf), (DWORD)pName); } VariantClear( varName); // contained within a loop, decrement the reference count SAFE_RELEASE(pPropBag); } SAFE_RELEASE(pMoniker); } } } } else { hr = E_POINTER; } return hr; } //----------------------------------------------------------------------------- // PopulateVideoControl // Fill video format combo box with supported video formats using the IAMStreamConfig // interface. HRESULT CDecklinkCaptureDlg PopulateVideoControl() { HRESULT hr = S_OK; if (m_pVideoCapture) { // free mediatypes attached to format controls int count = m_videoFormatCtrl.GetCount(); if (count) { for (int item=0; item count; ++item) { DeleteMediaType((AM_MEDIA_TYPE*)m_videoFormatCtrl.GetItemData(item)); } m_videoFormatCtrl.ResetContent(); } // locate the video capture pin and QI for stream control CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pVideoCapture, MEDIATYPE_Video, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // loop through all the capabilities (video formats) and populate the control int count, size; hr = pISC- GetNumberOfCapabilities( count, size); if (SUCCEEDED(hr)) { if (sizeof(VIDEO_STREAM_CONFIG_CAPS) == size) { AM_MEDIA_TYPE* pmt = NULL; VIDEO_STREAM_CONFIG_CAPS vscc; VIDEOINFOHEADER* pvih = NULL; for (int index=0; index count; ++index) { hr = pISC- GetStreamCaps(index, pmt, reinterpret_cast BYTE* ( vscc)); if (SUCCEEDED(hr)) { char buffer[128]; WORD PixelFormat; float FrameRate; ZeroMemory(buffer, sizeof(buffer)); pvih = (VIDEOINFOHEADER*)pmt- pbFormat; char* pPixelFormatLUT[] = {"4 2 2", "4 4 4"}; if (pvih- bmiHeader.biBitCount == 16) PixelFormat = 8; else if (pvih- bmiHeader.biBitCount == 20) PixelFormat = 10; else PixelFormat = pvih- bmiHeader.biBitCount; // provide a useful description of the formats if (486 == pvih- bmiHeader.biHeight) { if (417083 == pvih- AvgTimePerFrame) { StringCbPrintfA(buffer, sizeof(buffer), "NTSC %d-bit %s (3 2 pulldown removal)", PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { StringCbPrintfA(buffer, sizeof(buffer), "NTSC %d-bit %s", PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } } else if (576 == pvih- bmiHeader.biHeight) { StringCbPrintfA(buffer, sizeof(buffer), "PAL %d-bit %s", PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { char* pFrameRateFormat[] = {"%.2f", "%.0f"}; FrameRate = (float)(long)UNITS / pvih- AvgTimePerFrame; if ((720 == pvih- bmiHeader.biHeight) (59.94 FrameRate)) { if ((FrameRate - (int)FrameRate) 0.01) { StringCbPrintfA(buffer, sizeof(buffer), "HD720 %.2fp %d-bit %s (Overcranked 60p)", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { StringCbPrintfA(buffer, sizeof(buffer), "HD720 %.0fp %d-bit %s (Overcranked 60p)", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } } else if ((720 == pvih- bmiHeader.biHeight) (59.94 = FrameRate)) { if ((FrameRate - (int)FrameRate) 0.01) { StringCbPrintfA(buffer, sizeof(buffer), "HD720 %.2fp %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { StringCbPrintfA(buffer, sizeof(buffer), "HD720 %.0fp %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } } else if ((1080 == pvih- bmiHeader.biHeight) (50.00 = FrameRate)) { if ((FrameRate - (int)FrameRate) 0.01) { StringCbPrintfA(buffer, sizeof(buffer), "HD1080 %.2fi %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { StringCbPrintfA(buffer, sizeof(buffer), "HD1080 %.0fi %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } } else { if ((FrameRate - (int)FrameRate) 0.01) { StringCbPrintfA(buffer, sizeof(buffer), "HD1080 %.2fPsF %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } else { StringCbPrintfA(buffer, sizeof(buffer), "HD1080 %.0fPsF %d-bit %s", FrameRate, PixelFormat, pPixelFormatLUT[(30 == PixelFormat)]); } } } // add the item description to combo box int n = m_videoFormatCtrl.AddString(buffer); // store media type pointer in item s data section m_videoFormatCtrl.SetItemData(n, (DWORD_PTR)pmt); // set default format if ((pvih- AvgTimePerFrame == m_vihDefault.AvgTimePerFrame) (pvih- bmiHeader.biWidth == m_vihDefault.bmiHeader.biWidth) (pvih- bmiHeader.biHeight == m_vihDefault.bmiHeader.biHeight) (pvih- bmiHeader.biBitCount == m_vihDefault.bmiHeader.biBitCount)) { m_videoFormatCtrl.SetCurSel(n); pISC- SetFormat(pmt); } } } } else { m_videoFormatCtrl.AddString("ERROR Unable to retrieve video formats"); } } } } else { hr = E_POINTER; } return hr; } //----------------------------------------------------------------------------- // PopulateAudioControl // Fill audio format combo box with supported audio formats using the IAMStreamConfig // interface. HRESULT CDecklinkCaptureDlg PopulateAudioControl() { HRESULT hr = S_OK; if (m_pAudioCapture) { // free mediatypes attached to format controls int count = m_audioFormatCtrl.GetCount(); if (count) { for (int item=0; item count; ++item) { DeleteMediaType((AM_MEDIA_TYPE*)m_audioFormatCtrl.GetItemData(item)); } m_audioFormatCtrl.ResetContent(); } // locate the audio capture pin and QI for stream control CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pAudioCapture, MEDIATYPE_Audio, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // loop through all the capabilities (audio formats) and populate the control int count, size; hr = pISC- GetNumberOfCapabilities( count, size); if (SUCCEEDED(hr)) { if (sizeof(AUDIO_STREAM_CONFIG_CAPS) == size) { AM_MEDIA_TYPE* pmt = NULL; AUDIO_STREAM_CONFIG_CAPS ascc; WAVEFORMATEX* pwfex = NULL; for (int index=0; index count; ++index) { hr = pISC- GetStreamCaps(index, pmt, reinterpret_cast BYTE* ( ascc)); if (SUCCEEDED(hr)) { char buffer[32]; ZeroMemory(buffer, sizeof(buffer)); pwfex = (WAVEFORMATEX*)pmt- pbFormat; // provide a useful description of the formats if (1 == pwfex- nChannels) { StringCbPrintfA(buffer, sizeof(buffer), "%d channel, %2.1fkHz, %d-bit", (int)pwfex- nChannels, (float)pwfex- nSamplesPerSec / 1000, (int)pwfex- wBitsPerSample); } else { StringCbPrintfA(buffer, sizeof(buffer), "%d channels, %2.1fkHz, %d-bit", (int)pwfex- nChannels, (float)pwfex- nSamplesPerSec / 1000, (int)pwfex- wBitsPerSample); } // add the item description to combo box int n = m_audioFormatCtrl.AddString(buffer); // store media type pointer in item s data section m_audioFormatCtrl.SetItemData(n, (DWORD_PTR)pmt); // set default format if ((pwfex- wFormatTag == m_wfexDefault.wFormatTag) (pwfex- nChannels == m_wfexDefault.nChannels) (pwfex- nSamplesPerSec == m_wfexDefault.nSamplesPerSec) (pwfex- nAvgBytesPerSec == m_wfexDefault.nAvgBytesPerSec)) { m_audioFormatCtrl.SetCurSel(n); pISC- SetFormat(pmt); } } } } else { m_audioFormatCtrl.AddString("ERROR Unable to retrieve audio formats"); } } } } else { hr = E_POINTER; } return hr; } //----------------------------------------------------------------------------- // PopulateCompressionControl // Fill compression control with a selection of video compressors, locate the // encoders and add them to the combo box if they exist. HRESULT CDecklinkCaptureDlg PopulateCompressionControl() { int n = m_compressionCtrl.AddString("Uncompressed"); m_compressionCtrl.SetItemData(n, (DWORD_PTR)ENC_NONE); // search for the DV encoder, MPEG encoder and WM encoder IBaseFilter* pFilter = NULL; HRESULT hr = CoCreateInstance(CLSID_DVVideoEnc, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, reinterpret_cast void** ( pFilter)); if (SUCCEEDED(hr)) { n = m_compressionCtrl.SetCurSel(m_compressionCtrl.AddString("DV Video Encoder")); m_compressionCtrl.SetItemData(n, (DWORD_PTR)ENC_DV); SAFE_RELEASE(pFilter); } hr = CoCreateInstance(CLSID_WMAsfWriter, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, reinterpret_cast void** ( pFilter)); if (SUCCEEDED(hr)) { n = m_compressionCtrl.SetCurSel(m_compressionCtrl.AddString("Windows Media Encoder")); m_compressionCtrl.SetItemData(n, (DWORD_PTR)ENC_WM); SAFE_RELEASE(pFilter); } m_compressionCtrl.SetCurSel(m_compressor); return S_OK; } //----------------------------------------------------------------------------- // OnCbnSelchangeComboVideodevice // Rebuild graph with selected capture device void CDecklinkCaptureDlg OnCbnSelchangeComboVideodevice() { SAFE_RELEASE(m_pVideoCapture);// release our outstanding reference // remove intermediate filters, since the device selection has changed the capture device will also be removed HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { // rebuild graph with new capture device selection PWSTR pName = (PWSTR)m_videoDeviceCtrl.GetItemData(m_videoDeviceCtrl.GetCurSel()); if (pName) { hr = CDSUtils AddFilter2(m_pGraph, CLSID_VideoInputDeviceCategory, pName, m_pVideoCapture); if (SUCCEEDED(hr)) { // as the device has changed get the current operating format so that the control // and display this as the current selection CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pVideoCapture, MEDIATYPE_Video, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // get the current format of the device to set the current selection of the control AM_MEDIA_TYPE* pamt = NULL; hr = pISC- GetFormat( pamt); if (SUCCEEDED(hr)) { if (pamt- pbFormat) { m_vihDefault = *(VIDEOINFOHEADER*)pamt- pbFormat; } DeleteMediaType(pamt); } } hr = PopulateVideoControl();// repopulate the control with formats from the new device if (SUCCEEDED(hr)) { hr = CreatePreviewGraph();// rebuild the graph with the new device } } } else { hr = E_POINTER; } } } //----------------------------------------------------------------------------- // OnCbnSelchangeComboAudiodevice // Rebuild graph with selected capture device void CDecklinkCaptureDlg OnCbnSelchangeComboAudiodevice() { SAFE_RELEASE(m_pAudioCapture);// release our outstanding reference // remove intermediate filters, since the device selection has changed the capture device will also be removed HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { PWSTR pName = (PWSTR)m_audioDeviceCtrl.GetItemData(m_audioDeviceCtrl.GetCurSel()); if (pName) { hr = CDSUtils AddFilter2(m_pGraph, CLSID_AudioInputDeviceCategory, pName, m_pAudioCapture); if (SUCCEEDED(hr)) { // as the device has changed get the current operating format so that the control // and display this as the current selection CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pAudioCapture, MEDIATYPE_Audio, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // get the current format of the device to set the current selection of the control AM_MEDIA_TYPE* pamt = NULL; hr = pISC- GetFormat( pamt); if (SUCCEEDED(hr)) { if (pamt- pbFormat) { m_wfexDefault = *(WAVEFORMATEX*)pamt- pbFormat; } DeleteMediaType(pamt); } } hr = PopulateAudioControl();// repopulate the control with formats from the new device if (SUCCEEDED(hr)) { hr = CreatePreviewGraph();// rebuild the graph with the new device } } } else { hr = E_POINTER; } } } //----------------------------------------------------------------------------- // OnCbnSelchangeComboVideoformats // Rebuild preview graph if format selection changed void CDecklinkCaptureDlg OnCbnSelchangeComboVideoformats() { HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { // locate the video capture pin and QI for stream control CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pVideoCapture, MEDIATYPE_Video, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // set the new media format AM_MEDIA_TYPE* pmt = (AM_MEDIA_TYPE*)m_videoFormatCtrl.GetItemData(m_videoFormatCtrl.GetCurSel()); m_vihDefault = *(VIDEOINFOHEADER*)pmt- pbFormat; ASSERT(sizeof(VIDEOINFOHEADER) = pmt- cbFormat); hr = pISC- SetFormat(pmt); if (SUCCEEDED(hr)) { // save the new format EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("VideoFormat", reinterpret_cast const BYTE* ( m_vihDefault), sizeof(m_vihDefault))); // update compression control, we don t have an HD compression filter so disable compression for HD formats if (576 m_vihDefault.bmiHeader.biHeight) { m_compressor = 0; m_compressionCtrl.SetCurSel(m_compressor); // save the new state EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("VideoCompressor", reinterpret_cast const BYTE* ( m_compressor), sizeof(m_compressor))); m_bEnableCompressionCtrl = FALSE; } else { m_bEnableCompressionCtrl = TRUE; } EnableControls(); // rebuild the graph hr = CreatePreviewGraph(); } } } } //----------------------------------------------------------------------------- // OnCbnSelchangeComboAudioformats // Rebuild preview graph if format selection changed void CDecklinkCaptureDlg OnCbnSelchangeComboAudioformats() { HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { // locate the audio capture pin and QI for stream control CComPtr IAMStreamConfig pISC = NULL; hr = CDSUtils FindPinInterface(m_pAudioCapture, MEDIATYPE_Audio, PINDIR_OUTPUT, IID_IAMStreamConfig, reinterpret_cast void** ( pISC)); if (SUCCEEDED(hr)) { // set the new media format AM_MEDIA_TYPE* pmt = (AM_MEDIA_TYPE*)m_audioFormatCtrl.GetItemData(m_audioFormatCtrl.GetCurSel()); m_wfexDefault = *(WAVEFORMATEX*)pmt- pbFormat; ASSERT(sizeof(WAVEFORMATEX) == pmt- cbFormat); hr = pISC- SetFormat(pmt); if (SUCCEEDED(hr)) { // save the new format EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("AudioFormat", reinterpret_cast const BYTE* ( m_wfexDefault), sizeof(m_wfexDefault))); // rebuild the graph hr = CreatePreviewGraph(); } } } } //----------------------------------------------------------------------------- // OnCbnSelchangeComboCompression // Rebuild preview graph if compression selection changed void CDecklinkCaptureDlg OnCbnSelchangeComboCompression() { HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { // save the new state m_compressor = m_compressionCtrl.GetCurSel(); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("VideoCompressor", reinterpret_cast const BYTE* ( m_compressor), sizeof(m_compressor))); // rebuild the graph hr = CreatePreviewGraph(); } } //----------------------------------------------------------------------------- // OnBnClickedCheckAudiomute // Rebuild the capture graph to reflect the new audio setting void CDecklinkCaptureDlg OnBnClickedCheckAudiomute() { CButton* pCheck = (CButton*)GetDlgItem(IDC_CHECK_AUDIOMUTE); if (pCheck) { m_bAudioMute = pCheck- GetState() 0x0003; HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { // save the new state EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("AudioMute", reinterpret_cast const BYTE* ( m_bAudioMute), sizeof(m_bAudioMute))); // rebuild the graph which reflects the new audio setting hr = CreatePreviewGraph(); } } } //----------------------------------------------------------------------------- // OnBnClickedButtonBrowse // Create a file open dialog to browse for a file location void CDecklinkCaptureDlg OnBnClickedButtonBrowse() { char BASED_CODE szFilters[] = "Windows Media Files|*.avi;*.asf;*.wmv|All Files (*.*)|*.*||"; char* pExt[] = {"*.avi", "*.avi", "*.asf;*.wmv"}; CFileDialog FileDlg(TRUE, "Windows Media Files", pExt[m_compressor], 0, szFilters, this); if (FileDlg.DoModal() == IDOK) { m_captureFile = FileDlg.GetPathName(); m_captureFileCtrl.SetWindowText(m_captureFile); } } //----------------------------------------------------------------------------- // OnBnClickedButtonCapture // Create a capture graph a start capture void CDecklinkCaptureDlg OnBnClickedButtonCapture() { HRESULT hr = CreateCaptureGraph(); if (SUCCEEDED(hr)) { if (m_pControl) { hr = m_pControl- Run(); if (SUCCEEDED(hr)) { DisableControls(); } } } } //----------------------------------------------------------------------------- // OnBnClickedButtonStop // Stop capture and revert to preview void CDecklinkCaptureDlg OnBnClickedButtonStop() { HRESULT hr = DestroyGraph(); if (SUCCEEDED(hr)) { hr = CreatePreviewGraph(); if (SUCCEEDED(hr)) { EnableControls(); } } } //----------------------------------------------------------------------------- // EnableControls // void CDecklinkCaptureDlg EnableControls(void) { CWnd* pWnd = GetDlgItem(IDC_COMBO_VIDEOFORMATS); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_COMBO_AUDIOFORMATS); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_CHECK_AUDIOMUTE); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_COMBO_COMPRESSION); m_bEnableCompressionCtrl = (576 m_vihDefault.bmiHeader.biHeight) ? FALSE TRUE;// don t have an HDV codec do disable compression control for HD formats pWnd- EnableWindow(m_bEnableCompressionCtrl); pWnd = GetDlgItem(IDC_EDIT_CAPTUREFILE); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_BUTTON_BROWSE); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_BUTTON_CAPTURE); pWnd- EnableWindow(TRUE); pWnd = GetDlgItem(IDC_BUTTON_STOP); pWnd- EnableWindow(FALSE); } //----------------------------------------------------------------------------- // DisableControls // void CDecklinkCaptureDlg DisableControls(void) { CWnd* pWnd = GetDlgItem(IDC_COMBO_VIDEOFORMATS); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_COMBO_AUDIOFORMATS); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_CHECK_AUDIOMUTE); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_COMBO_COMPRESSION); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_EDIT_CAPTUREFILE); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_BUTTON_BROWSE); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_BUTTON_CAPTURE); pWnd- EnableWindow(FALSE); pWnd = GetDlgItem(IDC_BUTTON_STOP); pWnd- EnableWindow(TRUE); } //----------------------------------------------------------------------------- // QueryRegistry // retrieve previous media formats from registry void CDecklinkCaptureDlg QueryRegistry(void) { if (ERROR_SUCCESS == m_regUtils.Open("DecklinkCaptureSample")) { EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.GetBinary("VideoFormat", reinterpret_cast LPBYTE ( m_vihDefault), sizeof(m_vihDefault))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.GetBinary("AudioFormat", reinterpret_cast LPBYTE ( m_wfexDefault), sizeof(m_wfexDefault))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.GetBinary("AudioMute", reinterpret_cast LPBYTE ( m_bAudioMute), sizeof(m_bAudioMute))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.GetBinary("VideoCompressor", reinterpret_cast LPBYTE ( m_compressor), sizeof(m_compressor))); WCHAR captureFile[MAX_PATH]; ZeroMemory(captureFile, sizeof(captureFile)); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.GetString("CaptureFile", reinterpret_cast LPBYTE (captureFile), sizeof(captureFile))); m_captureFile = captureFile; } else { // create the key and registry values if (ERROR_SUCCESS == m_regUtils.Create("DecklinkCaptureSample")) { EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("VideoFormat", reinterpret_cast const BYTE* ( m_vihDefault), sizeof(m_vihDefault))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("AudioFormat", reinterpret_cast const BYTE* ( m_wfexDefault), sizeof(m_wfexDefault))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("AudioMute", reinterpret_cast const BYTE* ( m_bAudioMute), sizeof(m_bAudioMute))); EXECUTE_ASSERT(ERROR_SUCCESS == m_regUtils.SetBinary("VideoCompressor", reinterpret_cast const BYTE* ( m_compressor), sizeof(m_compressor))); } } // update mute audio check box control CButton* pButton = (CButton*)GetDlgItem(IDC_CHECK_AUDIOMUTE); pButton- SetCheck(m_bAudioMute); }
https://w.atwiki.jp/dragon-solitaire/pages/309.html
No.125 タイプ 属性 レア度 コスト 最大Lv HP(初期/最大) 攻撃(初期/最大) 回復(初期/最大) 進化元 進化先 進化素材 フェンリル ディフェンダー 風 5 12 80 ??? / ??? ??? / ??? ??? / ??? ガルム なし なし 編集 スキル イビルアイ(敵の攻撃を1ターン遅らせる) リーダースキル 業風の反撃(たまに風属性で激しく反撃する) 説明 血の匂いを含んだ疾風と共に現れる狼の精霊。その魂は気高く、勝利し、相手を喰らう事がこの狼の全てであり、強敵を前にしても怯むことはない。噂にうれば、特殊な魔法の紐があれば、この狼を捕らえる事が出来るらしい…が、噂は噂でしかない。 モンスター図鑑に戻る コメント 名前
https://w.atwiki.jp/hmiku/pages/2949.html
【登録タグ 作T 作TQ-T 作り手】 【ニコニコ動画】アンドロイドは電気歌姫の夢を見るか? 特徴 「L azur」でデビューし、「Chaining Intention」でヒットを飛ばした。 曲中で拍子や曲調が次々と展開する変化球的なサウンドに定評があり、「変拍子の貴公子」の異名を取る。 2009年頃から喜多嶋時透氏とのプロジェクトELECTROCUTICAとして制作活動をしている。 楽曲の作詞はNaturaLe氏が手掛けることが多い。グループで共作することもある。 P名は「さかしょうどうP」と読む。「L azur」の歌詞から。(本人は現在使用していない。) 「Treow」というアーティスト名は、村上春樹氏の著書『世界の終わりとハードボイルドワンダーランド』にかけて、end of the world を略した「eow」で終わる単語を探していたら行き着いた。※Treow・・・「樹(tree)」と「真実(true)」の語源となった英古語。 「Blindness」は、ぼからん#115 にて自身初の1位を達成。 次の曲が殿堂入りを達成している。 Aquila 、 ARCA 、 Blindness/Treow(逆衝動P) 、 Chaining Intention 、 Dependence Intension 、 Drain 、 DYE2 、 iDOLLA 、 L azur 、 Re quiem[Melas] 、 Reversus 、 あめふるはこにわ リンク ELECTROCUTICA公式サイト YouTube(ELECTROCUTICA) Soundcloud(ELECTROCUTICA) KARENT(ELECTROCUTICA) twitter(Treow) 曲 Aquila ARCA ARTICUTION/奇術師の告白 Blindness/Treow(逆衝動P) Chaining Intention Dependence Intension Drain DYE2 Fantasia Nr.1 iDOLLA L azur Light Snow Re quiem[Melas] Reversus ~white~ あめふるはこにわ 届かない花束 氷晶 CD Aquila ARCA ARCA/CD ARTICUTION A/W 2013 - CRYOHYDRATE Chaining Intention Re verse mix Chaining Intention/CD Crystalloid Download feat.初音ミク DYE -Synthesis- DYE -Synthesis- 2/8 DYE -Synthesis- R/F ELECTROCUTICA S/S 2011 EXIT TUNES PRESENTS STARDOM 3 EXIT TUNES PRESENTS Supernova Hysteresis iDOLLA Intolerant Space KOLLECTION+OI maimai でらっくす ベストアルバムちほー Piece of Cipher RE CYCLE Re quiem[Melas] REVERSUS+ REVERSUS/CD 愛迷エレジー/CD 合成音声ONGAKUの世界 相愛性理論/CD 初音ミク 5thバースデーベスト ~impacts~ 初音ミク -Project DIVA- X Complete Collection 初音ミク Vision ボーカロイドは終末鳥の夢を見るか? ボカロで覚える高校世界史 ロマンワークス/CD ワクテカEP 動画 コメント 大好きだ -- 名無しさん (2008-11-14 02 38 13) さかしょうどうPじゃないのか? -- 名無しさん (2008-12-05 15 34 58) L.azurスキです☆ -- あ (2008-12-20 10 16 07) ぎゃくしょうどうだぜ? -- 名無しさん (2008-12-21 09 32 05) さか衝動だろw -- 名無しさん (2008-12-21 12 11 31) 直しといた。L'azurでもそう歌ってるし何より本人がそう言ってるよ -- 名無しさん (2008-12-21 13 23 45) ↑直してくれてありがとう -- 名無しさん (2008-12-24 00 14 25) 今更だけど一周年おめでとうございます。 -- 名無しさん (2009-10-22 19 42 27) ASCII.jpの記事にインタビューが! -- naoh (2009-11-15 16 32 33) ascii面白かった! VOCALOID界に新風を巻き起こしてほしい -- 名無しさん (2009-11-24 20 50 46) Changing Intentionからファンだけど、特にDrain以降の中毒性ハンパない。作られる音といいリズムといい大好きだ!! -- 名無しさん (2009-12-22 02 10 16) さかたん大好きだー -- 名無しさん (2009-12-30 22 52 40) ↑さかたん吹いたwww 俺も逆衝動P大好きだー -- 名無しさん (2010-01-01 23 37 38) もう愛してるといってもいいくらい好き。一番好き。 -- 名無しさん (2010-01-22 17 05 09) かゆいところに手か届いた音楽 -- せ (2010-01-23 20 15 30) 大好き、それしか言いようがない -- 名無しさん (2010-01-27 15 47 14) こんなにハマったPは初めて -- 名無しさん (2010-01-28 18 53 47) ↑と同じく。すごくハマる。 -- 名無しさん (2010-02-01 13 24 36) Treow は、なんて読めばいいのか…とぅれおう??? -- 名無しさん (2010-02-11 09 20 14) とれおう -- 名無しさん (2010-03-05 17 43 57) とれおうさんにはまってから他の曲が聞けなくなった。大好きです。 -- 名無しさん (2010-03-12 16 59 18) ↑と同じ。ずっとBlindnessきいてる・・・!! -- 名無しさん (2010-03-14 20 01 57) ボーマス12に行ってきました。逆衝動さんご本人の前で、かなり緊張して挙動不審だった?いい年して緊張するとはorz。CDにサインいただきました。ありがとうございます。 -- わくした7 (2010-05-09 21 21 43) 上に同じくw ありがとうございました -- A.A. (2010-05-10 17 00 53) ↑いいなぁぁ、私も大好きですっ -- my01 (2010-08-14 16 56 47) ニコニコとかボカロ好きの需要からは離れているのかもしれないけど、せっかく才能があるのだからこのまま突っ走っていって欲しいな。 -- 名無しさん (2010-09-11 10 57 45) Treowさんの才能は凄いよな、音楽の世界の無限大さを感じさせてくれる -- 名無しさん (2010-09-12 14 33 35) 大好きです -- 名無しさん (2010-09-22 21 32 48) 新曲でないかなー -- 名無しさん (2010-09-29 16 08 15) ジャズとクラシックと何ていうか切ないの、言葉に出来ないですが、だいすきです。 -- 名無しさん (2010-10-05 17 43 36) だいすきとしか言えない -- 名無しさん (2010-10-06 13 17 29) 音が好きだ。その音を生み出せるtreowさんが大好きだ。 -- 名無しさん (2010-11-13 15 17 25) 好きすぎてどうしたらいいかわからない← -- corolla (2010-12-02 13 30 50) 惰性で曲を聴き、分かったつもりになって評価を下す(「おもしろい」「つまらん」「わからん」みたいな一言感想を放り込む)作業がどれほどくだらないことであるかを教えてくれるPだ。正直しずえもんが歌詞の意味を早々に公開しなければならなくなった事態を見ると、どれだけ多くのニコニコユーザーが惰性で曲を聴いているかがよくわかる。ほんらいそれは俺たちの力ででたどりつくことだろうに…… -- 名無しさん (2010-12-29 01 47 41) メジャーデビューしてほしい、ガチで -- 名無しさん (2010-12-29 22 24 27) メジャーだと人の曲のリミックス中心になりそう。自主制作つー形がすげーしっくりくる人だわ -- 名無しさん (2011-01-01 03 41 51) スタイリッシュ切り餅には何ヶ国語使ってるんだろう… -- 名無しさん (2011-01-06 10 02 24) なんともいえないくらい好き -- 名無しさん (2011-01-07 15 01 11) treowさんにはまってから音を意識して曲聞くようになったなあ -- 名無しさん (2011-01-10 16 17 50) 音楽ってすげえって改めて思わされた。底が知れない。 -- 名無しさん (2011-01-18 10 18 59) 好きすぎて窒息死しそう。其れぐらい大好き杉て息出来ない。 -- 名無しさん (2011-02-02 16 24 04) 最近treowさんの曲が好きになった・・・。曲が1秒1秒進むごとにドキドキする。聴いてて洗脳されそうw今までのボカロには全くない世界観だと思う。そしてPVも歌詞も毎回素敵すぎる。 -- 名無しさん (2011-02-02 23 54 16) この方のせいで最近は己の感性がよく解らない方向にそれていった。世界観がなんとも言えない独特の雰囲気でたまらない。だからこそ、あまりメジャーになるんじゃなく、ひっそりと、わかる人にだけ評価されればいいと思う。これ以上心、と言うより脳味噌を鷲掴みにしたPはいない。 -- ('・ω・`) (2011-02-26 14 25 55) この人の曲を聴いてからほかの曲が聴けない。もっとこの良さがわかる人が増えて欲しい -- 名無しさん (2011-03-28 15 50 53) 確かに他の曲を聴き辛くなってきた。Blindness→iDOLLAで聴いたらで惚れに惚れました。ヒステリシス入手できて本当に嬉しいいい -- 名無しさん (2011-03-29 18 50 28) この音の重圧。綺麗で悲しくてこわいの。聴かなきゃ。 -- 名無しさん (2011-04-07 22 13 28) やばいくらい好きこの良さが分からないやつはもったいないから聞かないでほしいww -- 名無しさん (2011-04-14 21 58 49) ELECTROCUTICA様達の作る曲の世界観にすごく引っ張られ今までに聞いたことのない世界に鳥肌と涙と感動を抑えられません。こんなに好きになれる歌はほかにない、です。ボーカロイドも美しく歌っていて聞いてて私はとても安心と元気を取り戻せます。今までもこれからもずっと応援しています^^ -- 65分 (2011-04-28 02 25 04) REVERSUSを視聴して、『良くない』って言う人はJ-POPとかを聴いていればいいと思うの。"どんどん寂れていく今の音楽業界は、大渦に巻き込まれて沈んでいく船のよう。" REVERSUSを聴いているとそう感じさせられる。 -- 名無しさん (2011-05-03 15 51 52) 激しく全国流通盤を出して欲しい。CD欲しすぎてどうしたものか。 -- 名無しさん (2011-05-04 03 11 30) 「忌錠の内に深知があり、神話の外に応えがある。我等は旧き理想と別れ、逆道を奔り貫ける。全ては、あるべき場所にかえるため」―REVERSUS格好良すぎる!ELECTROCUTICAが音楽業海をかえる事を願うよ -- 名無しさん (2011-06-01 23 12 28) この人どこまで行くんだろうな。きっと凄いことになると思う。これからも頑張ってほしい。あともう期待の新人ではない気がするんだが誰か編集しないのか(チラッチラッ -- 名無しさん (2011-06-11 10 42 05) ボカロ界隈にELECTROCUTICAがいてくれたことに感謝 -- 名無しさん (2011-06-12 00 11 57) 惰性で聴き流したくない。楽曲に用いられている一音一音を全て聴き取りたい。そんな想いに駆り立てられます。 -- 名無しさん (2011-07-10 00 13 18) Re quiem[Melas]のページが無い? -- 名無しさん (2011-07-17 17 38 58) センスの塊。 -- 名無しさん (2011-07-17 19 04 29) この人夏コミでるのか? -- 名無しさん (2011-07-18 21 57 49) 夏コミ新譜があるらしい -- 名無しさん (2011-07-19 01 42 29) Reversusもページないね・・・。やっぱダメ? -- 名無しさん (2011-07-19 01 52 58) Reversus(PV)は初音ミクの声が入ってるのだし、作っても良いのでは? -- 名無しさん (2011-07-21 00 25 35) 最近音沙汰がないだけに、次にどんなプロジェクトを打ち出してくるのか楽しみ。 -- 名無しさん (2011-07-31 22 42 44) ARCA以来のCD凄く楽しみだ -- 名無しさん (2011-08-14 14 02 01) ↑↑Twitterやニコ生で結構発信してるよ! -- 名無しさん (2011-08-17 20 10 55) Treowさんもっと手広くやればいいのに -- 名無しさん (2011-08-20 18 14 07) 今秋の新作からのシングルカットCDがC80にて販売。…リン…だと…?! -- 名無しさん (2011-08-21 00 05 07) treowさんの曲大好きです!ボカロばかりじゃなく生身の人間の歌に合わせてるとこがとても好印象。人の声が映える曲をさらにもっと沢山作ってください!!ボカロだけにとどまる必要無いです。これからも応援してます(´ω`) -- 名無しさん (2011-09-01 22 58 16) 音圧にまず惚れた。あと、無機質なボーカルが個人的に好き。「Dependence Intension」は最高だと思う -- 名無しさん (2011-09-24 10 35 16) 湿気のあるような、でもキラキラしているような、重い音がすごく大好き。Treowさんはヘッドフォン何使ってるんだろう。 -- 名無しさん (2011-10-10 04 18 14) そろそろ「期待の新人P」は外しても良いんじゃないかな -- 名無しさん (2011-11-04 07 57 28) ↑外しました。 逆衝動Pマジ大好きです^^ -- 鏡音咲夜★ (2011-11-04 13 27 14) Fantasia Nr.1で知った。Nr.3待ってます。混声合唱可能な仕様で。 -- 名無しさん (2011-11-14 17 49 16) 12月に新譜が出るらしい…楽しみだ…!! -- 名無しさん (2011-11-16 14 09 38) この人は特別に好き。聴いてて本当に楽しい。無機質な音楽にミクが合わさって素敵。 -- 名無しさん (2012-01-11 23 18 04) この人の独特のセンスにのめりこんでしまう。何度聞いても飽きない曲ばかり -- 名無しさん (2012-01-24 14 17 08) 曲を聴くたび心が益々とらわれてどうしようもない。エレクトライズとキューティカの曲に出会えて本当に良かった。 -- 名無しさん (2012-02-17 22 38 35) 将来すごい人になる気がする。センスがずば抜けてるよホント。 -- 名無しさん (2012-02-21 14 22 43) 音が凄く好きです。こんなにハマったアーティストは初めて!私はミクの声は苦手なんですが、リヴェルサスみたいなCDが出たらまた買いたいです。 -- 名無しさん (2012-02-25 21 29 49) Dependenceで惚れた。この世界観はどこから生まれるんだろう…綺麗で格好良くて静かで、体に染み込んでくるみたいな透明で心地いい音。全ての音を聴きたい。 -- 紅那 (2012-03-09 11 33 54) Chainingからずっとファンです。Treowさんのセンスとなつられさんの素敵な歌詞が絶妙にマッチしててカッコいい。ハマったら抜け出せない。 -- 名無しさん (2012-03-10 07 45 41) RE CYCLEきたーー!今まで発表した曲のアルバムとかも発売しないかな。この人の曲は全部手元に置いておきたいっ -- 名無しさん (2012-03-19 22 47 32) 今までに出したアルバムを全部再編、包装も新しくして新装版として出すみたいだね(Crystalloid以外)。中身変わってなくても欲しい -- 名無しさん (2012-03-28 10 59 43) もうすぐDYE関連のCDが出るようですね。いつもジャケットデザイン素敵です。集めて飾ろうと思ってます(笑 -- 名無しさん (2012-04-28 17 55 37) 俺、地震来た時にはアンタの曲・CD持って避難するよ -- 浜っ子 (2012-10-20 20 31 11) NaturaLeって誰? -- 名無しさん (2012-11-17 15 48 21) ↑TreowさんとサークルElektLyze設立時から一緒に活動しているリアル友人。ほとんどの曲で作詞してるよ。 -- 名無しさん (2013-01-13 20 46 38) 最近ファンになった身として、CD再編して発売はとってもありがたい…!待ち遠しいです -- 名無しさん (2013-02-01 01 47 58) XENOVERSEも買ったぞおおお -- あ (2013-02-12 00 24 15) 大好きすぎてつらい -- 名無しさん (2013-03-08 09 33 18) え、Cristalloidも再編するよね? -- 名無しさん (2013-09-29 12 04 17) ↑ 勿論。 -- 名無しさん (2013-09-29 12 51 15) 最近ファンになりました!この人の曲は勉強中のBGMにちょうどいいです♪ -- Treowさん大好き (2014-08-01 09 16 39) ハイセンス過ぎて俺の頭じゃ理解出来ないッ… -- ice-100 (2014-08-30 23 45 24) treowさん荒巻スカルチノフ好きなのかな -- 名無しさん (2014-10-06 01 52 17) 高校の青春は彼らからいただきました。 -- Dance (2014-12-10 16 51 48) Lazurは何度聞いてもすごい。変拍子神やん -- 暁 (2014-12-17 18 15 42) 「Download feat. 初音ミク」に、久しぶりにとれおうさんの曲が収録されるぞ! -- 名無しさん (2015-01-02 20 04 16) 胸が切なくなる綺麗な音の綴りは、誰にも真似できない。素晴らしい人だと思います。今もこれからも大好きです! -- 名無しさん (2015-03-09 00 35 38) この人すごいよなぁ。異色放ってるけど惹かれる旋律ばかりだ -- 名無しさん (2015-11-03 22 25 47) 新企画進めてるけど残りの再編盤を早くリリースしてほしい -- 名無しさん (2016-07-30 21 51 57) 昔は聴ける環境にあってよく聴いてたけどスマホオンリーになってから環境的に聴けなくなってしもた…iTunesとAppleMusicで取り扱いしてくれたらいいのにな、みんなどうやって聞いてるんだろ -- 名無しさん (2017-02-15 18 49 11) すみません、ELECTROCUTICAで検索したらありましたね、 -- 名無しさん (2017-02-15 18 56 31) ずっと好き -- 名無しさん (2019-04-14 02 39 48) とれさんしずえもんさん永遠にずっとずっと感電死刑囚です。音楽を愛しています -- 名無しさん (2020-07-08 02 39 06) Downloadの曲大好き愛してる -- 名無しさん (2024-07-03 10 11 38) 名前 コメント
https://w.atwiki.jp/cosmicbreak/pages/1944.html
ビートランダー 画像 機体説明 2010/3/18更新のガラポン1号機で入手できるM陸ロボ。 C21の「どっちのロボでショー」というユーザー投票イベントにてレイスタッグとの競合の末競り勝ち、 先に実装されたという過去がある。 また同時にデザインされた専用武器ビートルガンを持つ。 STATUS ※手持ち武器を外した状態で記述 名前 TYPE SIZE HP COST Capacity STR TEC WLK FLY TGH ロボ価格 購入条件 ビートランダー 陸 M 375 750 855 21 9 14 12 18 ガラポン なし 構成 ※SHOPで販売されている場合、セットで付いてくる手持ち武器は下に記述 パーツ名 アイコン Size Type Cost HP Str Tec Wlk Fly Tgh 備考 オートガンビット ビートランダーBD M 陸 445 255 13 6 9 9 11 ビートランダーLG M ALL 50 30 2 1 2 1 ビートランダーHD M 陸 110 25 1 2 1 -1 2 SUB EXCEED IMPACT ビートランダーBS M 陸 45 25 1 2 2 ビートランダーAM M ALL 35 20 2 -1 1 1 2 ビートランダーAM M ALL 35 20 2 -1 1 1 2 パーツ名 アイコン Size Type Cost HP Str Tec Wlk Fly Tgh 備考 ビートルガン 必要経験値 LV1 2 3 4 5 6 7 8 9 10 230 460 920 1610 2530 3450 9200 13800 23000 36800 カートリッジ ※上から順に。 名前 コスト 備考 キャパシティアップ+60 15 HP+9、6枚 シェルガード 20 ソードガード 20 ブラストガード 15 タフランナー 20 スウェー 15 クイックランディング 25 ブーストチューン 20 Lv6 ショートブースト 15 ブーストランニング 15 スタンリゲイン 15 クイックジャンプ 30 フロートダッシュ 30 Lv9 ブロードレーダー 50 レビュー・コメント コイツはCBに来るべきではなかった(HD的な意味で -- (名無しさん) 2010-04-09 22 42 59 こいつの角に限らずだけれど、弾消し効果自体は有りのままで、効果範囲を狭める調整をしてくれてればなあ、と思う。 空戦は相手の偏差撃ち読めればかわせるけど、陸戦はラピ挿したプラズマとかを粘着サテライトでぶっかけられると避け辛いから、ブースト斬りの誘導中に弾消せなくなったのが痛い・・・って俺の腕の問題なのかなコレは。砲戦に比べればマシか・・・マシ、か? CSの調整って、なんかニトロターボみたいな感じで、スイッチオンでぶっ壊れ、スイッチオフで産廃になっている気がする。 -- (名無しさん) 2010-04-10 01 01 00 つまり、順当な位置に調整する能力が無いのにぶっ壊れを出すCSが悪いってこったな。 -- (名無しさん) 2010-05-01 03 11 49 素バズとかロケランも持てるM陸で、Wクイックショトブできるのはこいつだけ -- (名無しさん) 2010-05-01 17 35 23 テツジンガー<ano -- (名無しさん) 2010-05-01 17 58 36 M射陸と言えばアクセルGPだが、こちらのほうが使い勝手は上 クイックジャンプがあると回避力が段違い -- (名無しさん) 2010-11-30 02 00 31 アクセルセイバーと比べた場合、クイックジャンプとブロレの存在が大きな利点。 ラン盾チンバリの防御力とWクイックショトブの回避力にブロレが加わることで驚異的な生存能力を発揮する。 ブロレで背後の敵も分かるのでショトブの方向を選定しやすく敵陣特攻してもかなり粘れる、というか大抵弾が先に切れる。 BDも胸板が少し分厚いが結構小柄。 ステルスやHD(AC)が2倍が目当てならばアクセルセイバーだが、ビートランダーも射陸としては間違いなくトップクラス。 -- (名無しさん) 2011-02-06 02 51 40 BDサイズはなんだかんだでアクセルセイバーとほぼ変わらず、M陸としてはやや大型 Wクイックショトブ射陸としての完成が最低でもLv7と、必要経験値と相俟って遅めなのも気になる 強力な機体ではあるが入手手段も含めた手軽さという点ではアクセルセイバーには及ばないか -- (名無しさん) 2011-09-26 00 10 36 WクイックショトブできてBDの小さいヘビージャガーアームができてこいつの存在価値は… -- (名無しさん) 2011-12-13 17 23 12 一応STRとかはこっちの方が上だったり、そこまで大差をつけられてる訳でもないのでベヒージャガーとは互換性能ぐらい -- (名無しさん) 2011-12-13 17 30 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/electricguitar/pages/14.html
メーカー:主な製品 フェンダー:ストラトキャスター、テレキャスター、ジャガー、ジャズマスター等 ギブソン:レスポール、SG、フライングV等 ジャクソン シャーベル