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; | ||
|  |         } | ||
|  |     } | ||
|  | } |