|
Packit |
c32a2d |
/*
|
|
Packit |
c32a2d |
mpg123clr: MPEG Audio Decoder library Common Language Runtime version.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
copyright 2009 by Malcolm Boczek - free software under the terms of the LGPL 2.1
|
|
Packit |
c32a2d |
mpg123clr.dll is a derivative work of libmpg123 - all original mpg123 licensing terms apply.
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
All rights to this work freely assigned to the mpg123 project.
|
|
Packit |
c32a2d |
*/
|
|
Packit |
c32a2d |
/*
|
|
Packit |
c32a2d |
libmpg123: MPEG Audio Decoder library
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
copyright 1995-2008 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
Packit |
c32a2d |
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
*/
|
|
Packit |
c32a2d |
/*
|
|
Packit |
c32a2d |
1.8.1.0 04-Aug-09 Initial release.
|
|
Packit |
c32a2d |
1.9.0.0 01-Oct-09 Technical cleanup - subst nullptr for NULL (mb)
|
|
Packit |
c32a2d |
*/
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
#include "StdAfx.h"
|
|
Packit |
c32a2d |
#include "id3v1.h"
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
mpg123clr::id3::mpg123id3v1::mpg123id3v1(void)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
mpg123clr::id3::mpg123id3v1::mpg123id3v1(mpg123_id3v1* sb)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
this->sb = sb;
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
// Destructor
|
|
Packit |
c32a2d |
mpg123clr::id3::mpg123id3v1::~mpg123id3v1(void)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
// clean up code to release managed resources
|
|
Packit |
c32a2d |
// ...
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
// call Finalizer to clean up unmanaged resources
|
|
Packit |
c32a2d |
this->!mpg123id3v1();
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
// Finalizer
|
|
Packit |
c32a2d |
mpg123clr::id3::mpg123id3v1::!mpg123id3v1(void)
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
// we do not create the underlying structure, so shouldn't dispose it either...
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
String^ mpg123clr::id3::mpg123id3v1::tag::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr || sb->tag == nullptr) return gcnew String("");
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return Marshal::PtrToStringAnsi((IntPtr)sb->tag, (int)strnlen(sb->tag, 3));
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
String^ mpg123clr::id3::mpg123id3v1::title::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr || sb->title == nullptr) return gcnew String("");
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return Marshal::PtrToStringAnsi((IntPtr)sb->title, (int)strnlen(sb->title, 30));
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
String^ mpg123clr::id3::mpg123id3v1::artist::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr || sb->artist == nullptr) return gcnew String("");
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return Marshal::PtrToStringAnsi((IntPtr)sb->artist, (int)strnlen(sb->artist, 30));
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
String^ mpg123clr::id3::mpg123id3v1::album::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr || sb->album == nullptr) return gcnew String("");
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return Marshal::PtrToStringAnsi((IntPtr)sb->album, (int)strnlen(sb->album, 30));
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
String^ mpg123clr::id3::mpg123id3v1::comment::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr || sb->comment == nullptr) return gcnew String("");
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return Marshal::PtrToStringAnsi((IntPtr)sb->comment, (int)strnlen(sb->comment, 30));
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
int mpg123clr::id3::mpg123id3v1::genre::get()
|
|
Packit |
c32a2d |
{
|
|
Packit |
c32a2d |
if (sb == nullptr) return 0;
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
return sb->genre;
|
|
Packit |
c32a2d |
}
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
|