Skip to content

SoundStudio API Documentation

概要

SoundStudioは、音楽の再生、停止、一時停止を行うためのインターフェースを提供するアプリケーションです。ユーザーは音楽ファイルをカテゴリ別に整理し、直感的なUIを通じて操作できます。このアプリケーションは、customtkinterを用いてGUIを構築し、pygameを利用して音楽ファイルを処理します。

使用ライブラリ

  • customtkinter: Tkinterのカスタマイズされたバージョンで、より豊かなUIを提供します。
  • pygame: 音楽ファイルの再生を管理するために使用します。
  • os: ファイルシステムとの対話のために使用します。
  • threading: 音楽再生の非同期処理を実現するために使用します。
  • time: タイマー機能を実現します。

クラス

1. SplashScreen

スプラッシュ画面を表示するクラス。

コンストラクタ

python
def __init__(self)
  • 概要: スプラッシュ画面を作成し、3秒間表示します。

メソッド

  • create_splash_widgets()

    • 概要: スプラッシュ画面のUI要素を作成します。
  • fade_in()

    • 概要: スプラッシュ画面のフェードイン効果を実装します。

2. SoundStudioApp

メインアプリケーションを管理するクラス。

コンストラクタ

python
def __init__(self)
  • 概要: アプリケーションの初期化を行い、UI要素を作成します。

メソッド

  • create_widgets()

    • 概要: アプリケーションのUI要素を作成します。
  • load_music_files()

    • 概要: 音楽ファイルをディレクトリから読み込み、カテゴリ別に整理します。
  • create_bgm_tab(category, files)

    • 概要: 音楽カテゴリごとにタブを作成します。
    • 引数:
      • category: 音楽カテゴリ名(文字列)
      • files: 音楽ファイルのリスト(リスト)
  • play_selected_song(song, category)

    • 概要: 選択された曲を再生します。
    • 引数:
      • song: 曲名(文字列)
      • category: カテゴリ名(文字列)
  • _play_song(song_path)

    • 概要: 指定されたパスの音楽ファイルを再生します。
    • 引数:
      • song_path: 曲のファイルパス(文字列)
  • play_song()

    • 概要: 現在選択されている曲の再生を再開します。
  • pause_song()

    • 概要: 現在再生中の曲を一時停止します。
  • stop_song()

    • 概要: 現在の曲の再生を停止します。
  • set_volume(volume)

    • 概要: 音量を設定します。
    • 引数:
      • volume: 音量(0.0〜1.0の浮動小数点数)
  • update_progress_bar()

    • 概要: 音楽の再生進行状況を示すプログレスバーを更新します。
  • exit_app()

    • 概要: アプリケーションを終了します。

3. 設定タブ

  • create_settings_tab()
    • 概要: アプリケーションの設定を管理するタブを作成します。

ログ機能

  • log(message)
    • 概要: アプリケーションのログにメッセージを追加します。
    • 引数:
      • message: ログに記録するメッセージ(文字列)

UI要素

  • スプラッシュ画面: アプリケーションの初期表示を行う画面。
  • メイン画面: 音楽の選択、再生、一時停止、停止を行うインターフェース。
  • ボリュームスライダー: 音量を調整するためのスライダー。
  • プログレスバー: 音楽の再生進行状況を示すバー。

注意事項

  • 音楽ファイルは、アプリケーションのカレントディレクトリに配置され、各カテゴリに分けられる必要があります。
  • 音楽ファイルは、.mp3形式である必要があります。