131 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			131 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package kha.audio2.ogg.vorbis.data;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * ...
							 | 
						||
| 
								 | 
							
								 * @author shohei909
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class Comment {
							 | 
						||
| 
								 | 
							
								    public var data(default, null):Map<String, Array<String>>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var title(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_title() {
							 | 
						||
| 
								 | 
							
								        return getString("title");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var loopStart(get, never):Null<Int>;
							 | 
						||
| 
								 | 
							
								    function get_loopStart() {
							 | 
						||
| 
								 | 
							
								        return Std.parseInt(getString("loopstart"));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var loopLength(get, never):Null<Int>;
							 | 
						||
| 
								 | 
							
								    function get_loopLength() {
							 | 
						||
| 
								 | 
							
								        return Std.parseInt(getString("looplength"));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var version(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_version() {
							 | 
						||
| 
								 | 
							
								        return getString("version");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var album(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_album() {
							 | 
						||
| 
								 | 
							
								        return getString("album");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var organization(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_organization() {
							 | 
						||
| 
								 | 
							
								        return getString("organization");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var tracknumber(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_tracknumber() {
							 | 
						||
| 
								 | 
							
								        return getString("tracknumber");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var performer(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_performer() {
							 | 
						||
| 
								 | 
							
								        return getString("performer");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var copyright(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_copyright() {
							 | 
						||
| 
								 | 
							
								        return getString("copyright");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var license(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_license() {
							 | 
						||
| 
								 | 
							
								        return getString("license");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var artist(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_artist() {
							 | 
						||
| 
								 | 
							
								        return getString("artist");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var description(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_description() {
							 | 
						||
| 
								 | 
							
								        return getString("description");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var genre(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_genre() {
							 | 
						||
| 
								 | 
							
								        return getString("genre");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var date(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_date() {
							 | 
						||
| 
								 | 
							
								        return getString("date");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var location(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_location() {
							 | 
						||
| 
								 | 
							
								        return getString("location");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var contact(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_contact() {
							 | 
						||
| 
								 | 
							
								        return getString("contact");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var isrc(get, never):String;
							 | 
						||
| 
								 | 
							
								    function get_isrc() {
							 | 
						||
| 
								 | 
							
								        return getString("isrc");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public var artists(get, never):Array<String>;
							 | 
						||
| 
								 | 
							
								    function get_artists() {
							 | 
						||
| 
								 | 
							
								        return getArray("artist");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function new() {
							 | 
						||
| 
								 | 
							
								        data = new Map();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function add(key:String, value:String) {
							 | 
						||
| 
								 | 
							
								        key = key.toLowerCase();
							 | 
						||
| 
								 | 
							
								        if (data.exists(key)) {
							 | 
						||
| 
								 | 
							
								            data[key].push(value);
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            data[key] = [value];
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function getString(key:String) {
							 | 
						||
| 
								 | 
							
								        key = key.toLowerCase();
							 | 
						||
| 
								 | 
							
								        return if (data.exists(key)) {
							 | 
						||
| 
								 | 
							
								            data[key][0];
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function getArray(key:String) {
							 | 
						||
| 
								 | 
							
								        key = key.toLowerCase();
							 | 
						||
| 
								 | 
							
								        return if (data.exists(key)) {
							 | 
						||
| 
								 | 
							
								            data[key];
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |