//
//  Sound.swift
//  AudioPlaybackKit
//
//  Created by Matt Bruce on 9/8/25.
//

import Foundation

/// Sound data model for audio files
public struct Sound: Identifiable, Hashable {
    public let id: String
    public let name: String
    public let fileName: String
    public let category: String
    public let description: String
    public let bundleName: String? // Optional bundle name for organization
    
    // MARK: - Initialization
    public init(name: String, fileName: String, category: String, description: String, bundleName: String? = nil) {
        self.id = fileName // Use fileName as stable identifier
        self.name = name
        self.fileName = fileName
        self.category = category
        self.description = description
        self.bundleName = bundleName
    }
    
    // MARK: - Hashable
    public func hash(into hasher: inout Hasher) {
        hasher.combine(id)
    }
}
