パッドを同時に鳴らさない設定について
MPC Softwareでハイハットのオープンとクローズを同時に鳴らしたくない時等に行うパッドの設定方法のメモです。
画面の赤枠内、A03のパッドにクローズハイハット、画面の青枠内、A04のパッドにオープンハイハットをアサインしています。
この状態で画面緑枠内をクリック、もしくは使用している機材のPROGRAM EDIT
ボタンを押してください。
そうすると下記のような画面になると思います。
この画面の赤枠内、MUTE TARGET
に同時に鳴らしたくないパッドを4つまで設定することができます。
今回はA03を鳴らすとA04が鳴らなくなるようにしたいので、A03のMUTE TARGET
にA04を指定します。
ハイハット以外にも工夫すれば色々使い道があると思いますので試してみてください。
Akai Professional 音楽制作システム 7GB音源付き MPC Studio Black
- 出版社/メーカー: AKAI
- 発売日: 2016/03/07
- メディア: エレクトロニクス
- この商品を含むブログを見る
AKAI Professional 7インチタッチディスプレイ 音楽制作システム MPC TOUCH
- 出版社/メーカー: AKAI
- 発売日: 2015/12/11
- メディア: エレクトロニクス
- この商品を含むブログを見る
【J-HIPHOP】ハルビンズ弐拾五 - 波華横丁皿三昧
大阪アンダーグラウンドの雄、SUPPON RECORDS所属のトラックメーカーユニット、ハルビンズ弐拾五が2007年にリリースしたファーストアルバム。
メンバーはEarMadder,GDEN,Hi-Low★Kickの三名。
この三名の作る、濃く癖のあるトラックにSUPPON RECORDS周辺のMCsが負けないくらい濃いスキルフルなラップを乗せています。 しかもこの作品どうやら一日で作成したっぽいことを曲中で言っており、正直とんでもねえなと。
僕の中でこの作品で一番耳に残るのがMCマリヲのラップ。 ねっとりとしたフロウと声で癖になります。
トラックもラップも癖が強くて実験的なものも多く、オリジナリティ溢れるオルタナティブなラップ作品としてオススメです。
尖ったHIPHOPを聴きたい人は是非。
SOQL文での集計関数
SOQLで集計関数を使用する際に調べたことをメモしていきます。
今回の記事の説明用に下記のサンプルデータを使って例を記載していきます。
売上日/SalesDate | 名前/Name | 年齢/Age | 性別/Gender | 売上/Sales |
---|---|---|---|---|
2016-08-01 | Tom | 26 | 男性 | 280,000 |
2016-08-04 | Mary | 28 | 女性 | 275,000 |
2016-08-07 | John | 31 | 男性 | 310,000 |
2016-08-10 | Mary | 28 | 女性 | 360,000 |
2016-08-13 | Tom | 26 | 男性 | 240,000 |
SOQLの集計関数
SOQLで集計関数を使うにはAggregateResult
型を使用しなければいけません。
まずここがSQLと違うのでハマりやすいポイント。
// 全員の売上の合計を求めるSOQL AggregateResult[] aResults = [SELECT SUM(Sales__c) summary FROM Hoge__c]; System.debug('売上合計:' + aResults[0].get(summary) + '円'); // 売上合計:1465000円
サンプルでは合計を求めるSUM()
を使用していますが、最大値を求めるMAX()
等他にも関数があります。
詳細は公式リファレンスを参照。
GROUP BY句
GROUP BY
を使うことによって、指定した値別に結果を求めることが出来ます。
今回の例ではGROUP BY
で性別を指定しているので、男女別の売上の合計値を求めることが出来ます。
// 男女別に売上の合計を求めるSOQL AggregateResult[] aResults = [SELECT Gender, SUM(Sales__c) summary FROM Hoge__c GROUP BY Gender]; for(AggregateResult ar : aResults){ System.debug(ar.Gender + 'の売上合計:' + ar.get(summary) + '円'); } // 男性の売上合計:830000円 // 女性の売上合計:635000円
HAVING句
Having
を使うことによって、GROUP BY
で指定した値別の結果に絞り込み条件を指定することが出来ます。
Where
と似ていますが、Having
はグルーピングした後の値に条件を指定しているので、違いに注意が必要です。
今回の例ではGROUP BY
で名前を指定しているので、名前別の売上の合計値を求めることが出来ます。
// 名前別に売上の合計を求めるSOQL(売上合計が500,000円以上のみ) AggregateResult[] aResults = [SELECT Name, SUM(Sales__c) summary FROM Hoge__c GROUP BY Name Having summary >= 500000]; for(AggregateResult ar : aResults){ System.debug(ar.Name + 'の売上合計:' + ar.get(summary) + '円'); } // Tomの売上合計:520000円 // Maryの売上合計:635000円 // Johnは売上合計が500,000円未満なので取得されない
参考
レコードタイプのIDをSOQLで取得する
オブジェクトのレコードタイプのIDを取得したい時があったので、その時に調べたことをメモします。
レコードタイプはレコードタイプオブジェクトの中にあるレコードなので、そこからSOQLで引っ張ってくるような文を書きます。
下記のサンプルコードはContactオブジェクトのhogeという名前のレコードタイプのIDを抽出する内容になっています。
※レコードタイプの表示ラベル名(Name)ではなく、API名(DeveloperName)の方で検索すること。
// SobjectTypeでオブジェクト指定 // Nameでレコードタイプの名前指定 String sobjectTypeName = 'Contact'; String recordTypeName = 'hoge'; Sobject recordType = [SELECT Id FROM RecordType WHERE SobjectType = :sobjectTypeName AND DeveloperName = :recordTypeName ];
参考ページによるとSOQL以外での取得方法もあるみたいですが、今のところ僕にはこちらで十分。
参考
メールアドレス不達フラグによるメール送信エラー
以前メール送信のタイマーセット機能を実装したんですが、セットした時間になっても送信されなかったことがあり、その時に色々調べたことをメモします。
過去にApexでメール送信機能(SingleEmail)についての記事を書きました。
この時に送信対象者の中に、メールアドレス不達フラグがTrueの人が一人でもいると送信自体が失敗してしまいます。
レコードのメールアドレス不達フラグがTrueなら画面がこんな感じになっているはずです。 (因みにメールアドレスを編集したら不達フラグはFalseになり、このエラーメッセージは表示されなくなります。)
なので送信対象者をSOQL文で引っ張ってくる時に、送信対象者のメールアドレス不達フラグがTrueの人を除外するような文に変更することで解決しました。
項目名 | API名 |
---|---|
メール不達発生日 | EmailBouncedDate |
メール不達の理由 | EmailBouncedReason |
Contact[] conList = new List<Contact>(); conList = [SELECT Email FROM Contact WHERE EmailBouncedDate = null AND EmailBouncedReason = null ];
参考
【J-HIPHOP】Lion's ROCK - NO’17
大阪は高槻発のHIPHOPユニット、Lion’s ROCKが2008年に出したファーストアルバムが才能の塊過ぎて凄いです。
メンバーはMC/TrackMakerのatius(TrackMaker名義は吹田2000)とエンジニアのFULL-HOUSE。
かつてダメレコ1,000円CDシリーズで発売された本作ですが、この時atiusはまだ若干22~23歳くらい。
当時大阪のタワレコで偶然見つけて、安かったし何となく買って、帰って聞いたら良すぎて感動したのを覚えてます。
特徴的な高い声とトリッキーかつスキルフルで歌心も感じるフロウ、Jazzサンプリングを基調にした軽快なトラックで、完成度もオリジナリティも他のJapanese HIPHOPとは一線を画してました。
ドープなんだけどポップで、ポップなんだけどひねくれている感じがツボです。
feat.勢も現在同じクルー'高槻POSSE'に所属するJAB,八空,IPPey(BYG daddy)の3名で、彼らもアクが強くいい仕事してます。
クルーでの動きも面白いんですけど、個人的にはソロでセカンドアルバムを聴いてみたいですね。
持ってない人は購入を激プッシュ!
レコードへのアクセス制限について(随時更新)
Salesforceのレコードへのアクセス制限がややこしかったので、使った範囲でメモしていきます。
新しいことが分かったら随時更新していくと思います。
プロファイル
ユーザーの管理 > プロファイル
各オブジェクトへのアクセスを制限することができます。(下記参照)
- 参照
- 作成
- 編集
- 削除
- すべて表示
- すべて変更
組織の共有設定
設定 > セキュリティのコントロール > 共有設定
レコードの所有者以外のユーザーのレコードへのアクセス権限を設定できます。(下記参照)
- 非公開
- 公開/参照
- 公開/参照・更新可能
- 公開/参照・更新可能/所有権の移行
「非公開」にすればレコードの所有者以外のユーザーはレコードを参照することができません。 所有者はフルアクセス権を擁します。
ただし、ロールの設定によって所有者以外もレコードにアクセスすることが可能になります。
ロール
ユーザーの管理 > ロール
共有設定でレコードへのアクセス権限を設定したが、ロールを設定することでアクセス権限を拡張することができます。
ロールには階層というものがあり、上位の階層に位置するロールのユーザーは、下位のロールのユーザーが所有者のレコードにもアクセスすることができます。
例えば下記の様なロール階層があったとします。
部長 └課長 └平社員
そして、リードオブジェクトのあるレコードの所有者Aさんのロールが「平社員」で、組織の共有設定ではリードオブジェクトのアクセス権限は「非公開」だとします。
この場合、通常はレコードの所有者であるAさんしかそのレコードにはアクセスできませんが、ロールが「課長」のBさん、「部長」のCさんは、「平社員」よりも上位の階層のロールを割り当てられているので、そのレコードにアクセスすることができます。
参考