Blame ports/MSVC++/2008clr/mpg123clr/id3v1.cpp

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