2023 ソフトウェア設計及び演習用の班Wiki
23::gr03::関数
関数
- 作成した関数についてそれぞれのファイルごと(html, jsの順)に説明する。
voice_imput.html
- voice()
- 自分の音域データ<class = keep>と検索方法を表す「search_switch」をoutput.htmlにクエリで渡す
- pitch_keep()
- 観測音に入っている音階<class = observe>を、自分の音域データ<class = keep>として保存
singer_search.html, song_search.html
- singer_search(), song_search()
- 入力された「もの」と検索方法を表す「search_switch」をoutput.htmlにクエリで渡す
- サジェスト機能について
-
曲のデータリストから歌手や曲のデータのみを取得し、新たな配列に保存する。入力された文字列を含むものを検索し、表示させる
data_search.js
- deta_search()
- 曲のデータリストをオブジェクト配列 musiclistで保存している。
- search_switch(int型の整数)を受け取り、switch文で分岐し、それに合わせてフィルターをかけて検索する
- 検索結果に合うものを新たなオブジェクト配列show_listに保存し、関数output()にデータを渡す
output.js
- output()
-
data_search()が作成した配列を受け取り、曲名・歌手名・音階データを表形式にして出力する。
- forEachで繰り返し表示を行う(行数は構造体の要素数、列数は1つの要素のメンバ数)
- 雰囲気検索のときは、曲の雰囲気(mood)を受け取り、表示するものを返す
- 数字で管理している音階をpitch_matchに渡して表示の文字形式にする
- キー変更に合わせて画面に現在のキーを表示する。
pitch_match.js
- pitch_match()
- 入力された文字列の音階に対して、switch文で場合を分けてそれぞれに対応させた数字を返す
- pitch_match_rev()
-
数字で管理された音階に対して、switch文で場合を分けてそれぞれに対応した文字列の音階を返す
sort.js
- sort()
- output.htmlで1度出力した表から連想配列を作り直し、その後sortメソッドによって任意の順番に並べ替えを行う。作り直した連想配列を関数output()へ再度渡し、表を出力し直す。
key_control.js
- key_control()
- キー変更は -6 ~ +6 まで可能とする(+12で1オクターブ上の同じ音になるため)
- 変更されたキーの情報deta_search()へ渡し、新たな結果を表示させる
singer_filter.js
- filter()
- トグルスイッチがONならsinger_filter_exe()を、OFFならsinger_filter_return()を呼び出す
- singer_filter()
- 曲名検索の検索バーと同様のサジェスト機能を使用。文字を入力するとそれに合わせてサジェストを表示する。
- singer_filter_exe()
- 歌手名絞り込みを実行する関数。現在ユーザーによって指定されているジャンルやキーの情報、指定された歌手名をdata_search.jsに渡し、新たな表を作成する。
- singer_filter_return()
-
トグルがOFFにされたとき、フィルタリングを解除する。歌手の指定を無くし、すべての歌手で表を作り直す。
最終更新日:2023/07/26 16:24:22