summaryrefslogtreecommitdiffstats
path: root/modules/php_musicbrainz/mbRelease.php
blob: 32ee7f6ebc3ce7778ac6c10bb845d5df6632b623 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
    class mbRelease extends MusicBrainzEntity {
        // Types
        const TYPE_NONE          = "http://musicbrainz.org/ns/mmd-1.0#None";
        
        const TYPE_ALBUM         = "http://musicbrainz.org/ns/mmd-1.0#Album";
        const TYPE_SINGLE        = "http://musicbrainz.org/ns/mmd-1.0#Single";
        const TYPE_EP            = "http://musicbrainz.org/ns/mmd-1.0#EP";
        const TYPE_COMPILATION   = "http://musicbrainz.org/ns/mmd-1.0#Compilation";
        const TYPE_SOUNDTRACK    = "http://musicbrainz.org/ns/mmd-1.0#Soundtrack";
        const TYPE_SPOKENWORD    = "http://musicbrainz.org/ns/mmd-1.0#Spokenword";
        const TYPE_INTERVIEW     = "http://musicbrainz.org/ns/mmd-1.0#Interview";
        const TYPE_AUDIOBOOK     = "http://musicbrainz.org/ns/mmd-1.0#Audiobook";
        const TYPE_LIVE          = "http://musicbrainz.org/ns/mmd-1.0#Live";
        const TYPE_REMIX         = "http://musicbrainz.org/ns/mmd-1.0#Remix";
        const TYPE_OTHER         = "http://musicbrainz.org/ns/mmd-1.0#Other";

        // Statuses
        const TYPE_OFFICIAL       = "http://musicbrainz.org/ns/mmd-1.0#Official";
        const TYPE_PROMOTION      = "http://musicbrainz.org/ns/mmd-1.0#Promotion";
        const TYPE_BOOTLEG        = "http://musicbrainz.org/ns/mmd-1.0#Bootleg";
        const TYPE_PSEUDO_RELEASE = "http://musicbrainz.org/ns/mmd-1.0#Pseudo-Release";
        
        private $title;
        private $textLanguage;
        private $textScript;
        private $asin;
        private $types = array();
        private $artist = null;
        private $tracks = array();
        private $tracksOffset = 0;
        private $tracksCount  = 0;
        private $discs = array();
        private $releaseEvents = array();

        function mbRelease( $id = '', $title = '' ) {
            parent::MusicBrainzEntity($id);
            $this->title = $title;
        }

        function getTitle() { return $this->title; }
        function setTitle( $title ) { $this->title = $title; }
        function getTextLanguage() { return $this->textLanguage; }
        function setTextLanguage( $tlang ) { $this->textLanguage = $tlang; }
        function getTextScript() { return $this->textScript; }
        function setTextScript( $tscript ) { $this->textScript = $tscript; }
        function getAsin() { return $this->asin; }
        function setAsin( $asin ) { $this->asin = $asin; }

        function getArtist() {
            return $this->artist;
        }

        function setArtist( Artist $artist ) {
            $this->artist = $artist;
        }

        function &getTracks() {
            return $this->tracks;
        }

        function getTracksOffset() {
            return $this->tracksOffset;
        }

        function setTracksOffset( $value ) {
            $this->tracksOffset = $value;
        }

        function getTracksCount() {
            return $this->tracksCount;
        }

        function setTracksCount( $tracksCount ) {
            $this->tracksCount = $tracksCount;
        }

        function &getDiscs() {
            return $this->discs;
        }

        function &getReleaseEvents() {
            return $this->releaseEvents;
        }

        function getNumReleaseEvents() {
            return count($this->releaseEvents);
        }

        function getReleaseEvent( $i ) {
            return $this->releaseEvents[$i];
        }

        function getNumDiscs() {
            return count($this->discs);
        }

        function getDisc( $i ) {
            return $this->discs[$i];
        }

        function getNumTracks() {
            return count($this->tracks);
        }

        function getTrack( $i ) {
            return $this->tracks[$i];
        }

        function setTypes( array $types ) {
            $this->types = $types;
        }

        function &getTypes() {
            return $this->types;
        }

        function getNumTypes() {
            return count($this->types);
        }

        function getType( $i ) {
            return $this->types[$i];
        }
    }
?>