API Reference
Motify Class
Initialization
from motify import Motify
motify = Motify()
Methods
download_track(track_id)
download_playlist(playlist_id)
search(query)
get_history()
Config Class
Initialization
from motify import Config
config = Config(output_dir="/path/to/dir", quality="high")
Options
output_dir
: Directory for downloads quality
: Download quality ("high", "medium", "low")
Example
from motify import Motify, Config
config = Config(output_dir="music", quality="high")
motify = Motify(config)
motify.download_track("track_id")
Services
SpotifyService
from src.services.spotify_service import SpotifyService
spotify = SpotifyService(client_id, client_secret)
Methods
search(query, type='track')
: Search Spotify get_track(track_id)
: Get track details get_album(album_id)
: Get album details get_artist(artist_id)
: Get artist details
Downloader
from src.services.downloader import Downloader
downloader = Downloader(config)
Methods
download_track(track_info)
: Download a track download_playlist(playlist_info)
: Download a playlist download_album(album_info)
: Download an album
User Interface
MainWindow
from src.ui.main_window import MainWindow
window = MainWindow(config)
Tabs
- SearchTab: Music search interface
- QueueTab: Download queue management
- HistoryTab: Download history
- LyricsTab: Lyrics viewer/editor
- SettingsTab: Application settings
Configuration
ConfigManager
from src.utils.config import ConfigManager
config = ConfigManager('app_config.json')
Properties
theme
: UI theme audio_quality
: Download quality audio_format
: Output format concurrent_downloads
: Max simultaneous downloads notification_enabled
: Enable/disable notifications
Events
Download Events
on_download_start(track_info)
on_download_progress(track_info, progress)
on_download_complete(track_info)
on_download_error(track_info, error)
Queue Events
on_queue_update(queue_items)
on_queue_complete()
on_queue_error(error)
Error Handling
from src.utils.exceptions import (
DownloadError,
AuthenticationError,
ConfigError
)