;; nasheed-hub -- nasheed (Islamic song) sharing platform
(define-data-var track-count uint u0)
(define-map tracks uint { artist: principal, title: (string-ascii 50), genre: (string-ascii 20), plays: uint })
(define-public (upload-track (title (string-ascii 50)) (genre (string-ascii 20)))
(let ((id (+ (var-get track-count) u1)))
(var-set track-count id)
(map-set tracks id { artist: tx-sender, title: title, genre: genre, plays: u0 }) (ok id)))
(define-public (play-track (id uint))
(let ((t (unwrap! (map-get? tracks id) (err u404))))
(map-set tracks id (merge t { plays: (+ (get plays t) u1) })) (ok true)))
(define-read-only (get-track (id uint)) (map-get? tracks id))
(define-read-only (get-count) (var-get track-count))