mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-02 11:09:29 +00:00
Orpheus is a light-weight text mode menu- and window-driven audio player
application for CDs and files in MP3 and Vorbis OGG format. PR: n/a Submitted by: Andrej Zverev <az@inec.ru>
This commit is contained in:
parent
0acf0e892f
commit
8360ab3d50
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=132858
@ -321,6 +321,7 @@
|
|||||||
SUBDIR += openal
|
SUBDIR += openal
|
||||||
SUBDIR += opennap
|
SUBDIR += opennap
|
||||||
SUBDIR += opmixer
|
SUBDIR += opmixer
|
||||||
|
SUBDIR += orpheus
|
||||||
SUBDIR += osalp
|
SUBDIR += osalp
|
||||||
SUBDIR += p5-Audio
|
SUBDIR += p5-Audio
|
||||||
SUBDIR += p5-Audio-CD
|
SUBDIR += p5-Audio-CD
|
||||||
|
78
audio/orpheus/Makefile
Normal file
78
audio/orpheus/Makefile
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# New ports collection Makefile for: orpheus
|
||||||
|
# Date created: 9 December 2004
|
||||||
|
# Whom: Andrej Zverev
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
PORTNAME= orpheus
|
||||||
|
PORTVERSION= 1.5
|
||||||
|
CATEGORIES= audio
|
||||||
|
MASTER_SITES= http://thekonst.net/download/
|
||||||
|
|
||||||
|
MAINTAINER= az@inec.ru
|
||||||
|
COMMENT= Light-weight console UI audio player application
|
||||||
|
|
||||||
|
BUILD_DEPENDS= mpg321:${PORTSDIR}/audio/mpg321
|
||||||
|
|
||||||
|
USE_BZIP2= yes
|
||||||
|
HAS_CONFIGURE= yes
|
||||||
|
USE_GMAKE= yes
|
||||||
|
USE_REINPLACE= yes
|
||||||
|
USE_AUTOCONF_VER= 253
|
||||||
|
|
||||||
|
CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib"
|
||||||
|
|
||||||
|
OPTIONS= NLS "Native language support" on \
|
||||||
|
CDDB "CDDB audio CD' auto fetch track info support" on \
|
||||||
|
VORBIS "Vorbis playing and tags edit support" off
|
||||||
|
|
||||||
|
MAN1= orpheus.1
|
||||||
|
|
||||||
|
.include <bsd.port.pre.mk>
|
||||||
|
|
||||||
|
.if defined(WITH_CDDB)
|
||||||
|
LIB_DEPENDS+= ghttp:${PORTSDIR}/www/libghttp
|
||||||
|
CONFIGURE_ARGS+= --enable-ghttp
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if defined(WITH_VORBIS)
|
||||||
|
RUN_DEPENDS= ogg123:${PORTSDIR}/audio/vorbis-tools
|
||||||
|
LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis
|
||||||
|
LIB_DEPENDS+= vorbisfile:${PORTSDIR}/audio/libvorbis
|
||||||
|
CONFIGURE_ARGS+= --enable-vorbis
|
||||||
|
CONFIGURE_ARGS+= --enable-vorbisfile
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if !defined(WITHOUT_NLS)
|
||||||
|
USE_GETTEXT= yes
|
||||||
|
PLIST_SUB+= NLS=""
|
||||||
|
.else
|
||||||
|
CONFIGURE_ARGS+= --disable-nls
|
||||||
|
PLIST_SUB+= NLS="@comment "
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
PORTDOCS= FAQ README ChangeLog
|
||||||
|
.endif
|
||||||
|
|
||||||
|
pre-configure:
|
||||||
|
@cd ${WRKSRC}; ${AUTOCONF}
|
||||||
|
@cd ${WRKSRC}/kkconsui-0.1; ${AUTOCONF}
|
||||||
|
@cd ${WRKSRC}/kkstrtext-0.1; ${AUTOCONF}
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/src/orpheus ${PREFIX}/bin
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/orpheus.1 ${MAN1PREFIX}/man/man1
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
@${MKDIR} ${DOCSDIR}
|
||||||
|
@${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${DOCSDIR}
|
||||||
|
.endif
|
||||||
|
.if !defined(WITHOUT_NLS)
|
||||||
|
${MKDIR} ${PREFIX}/share/locale/ru/LC_MESSAGES
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/po/ru.gmo ${PREFIX}/share/locale/ru/LC_MESSAGES/orpheus.mo
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.include <bsd.port.post.mk>
|
2
audio/orpheus/distinfo
Normal file
2
audio/orpheus/distinfo
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
MD5 (orpheus-1.5.tar.bz2) = 9613e6be14ba7a0ca5d42a88e6ed3516
|
||||||
|
SIZE (orpheus-1.5.tar.bz2) = 256825
|
35
audio/orpheus/files/patch-configure.in
Normal file
35
audio/orpheus/files/patch-configure.in
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
diff -Nru orpheus-1.5/configure.in orpheus-1.5.1/configure.in
|
||||||
|
--- configure.in Wed Mar 10 22:48:14 2004
|
||||||
|
+++ configure.in Mon Apr 4 11:43:05 2005
|
||||||
|
@@ -11,14 +11,24 @@
|
||||||
|
|
||||||
|
AC_CHECK_LIB(ncurses, main,, AC_CHECK_LIB(curses, main,, AC_MSG_ERROR(The ncurses terminal library is required in order to build the program)))
|
||||||
|
|
||||||
|
-AC_CHECK_LIB(ghttp, ghttp_request_new,,
|
||||||
|
- [AC_MSG_WARN(libghttp not found - the support for CDDB is be disabled)])
|
||||||
|
+AC_ARG_ENABLE(ghttp,
|
||||||
|
+ [ --enable-ghttp enable HTTP proxy support for CDDB],
|
||||||
|
+ [if test "$enableval" = yes; then
|
||||||
|
+ AC_CHECK_LIB(ghttp,ghttp_request_new,,AC_ERROR([cannot locate ghttp library]))
|
||||||
|
+ fi])
|
||||||
|
|
||||||
|
-AC_CHECK_LIB(vorbis, vorbis_synthesis_headerin,,
|
||||||
|
- AC_MSG_WARN(libvorbisfile not found - the support for OGG tags edit is disabled))
|
||||||
|
-
|
||||||
|
-AC_CHECK_LIB(vorbisfile, ov_open,,
|
||||||
|
- AC_MSG_WARN(libvorbis not found - the support for OGG files is disabled))
|
||||||
|
+AC_ARG_ENABLE(vorbis,
|
||||||
|
+ [ --enable-vorbis enable OGG tags edit support],
|
||||||
|
+ [if test "$enableval" = yes; then
|
||||||
|
+ AC_CHECK_LIB(vorbis, vorbis_synthesis_headerin,,AC_ERROR([cannot locate vorbis library]))
|
||||||
|
+ AC_CHECK_LIB(vorbisfile, ov_open,,AC_ERROR([cannot locate vorbisfile library]))
|
||||||
|
+ fi])
|
||||||
|
+
|
||||||
|
+AC_ARG_ENABLE(vorbis,
|
||||||
|
+ [ --enable-vorbisfile enable OGG files support],
|
||||||
|
+ [if test "$enableval" = yes; then
|
||||||
|
+ AC_CHECK_LIB(vorbisfile, ov_open,,AC_ERROR([cannot locate vorbisfile library]))
|
||||||
|
+ fi])
|
||||||
|
|
||||||
|
AM_ICONV_LINK
|
||||||
|
|
10
audio/orpheus/files/patch-src-abstract-track.h
Normal file
10
audio/orpheus/files/patch-src-abstract-track.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- src/abstract/track.h Sat Feb 14 15:51:46 2004
|
||||||
|
+++ src/abstract/track.h Tue Dec 14 01:03:50 2004
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <fstream>
|
||||||
|
+#include <sys/types.h>
|
||||||
|
|
||||||
|
class track {
|
||||||
|
public:
|
359
audio/orpheus/files/patch-src-cdtrack.cc
Normal file
359
audio/orpheus/files/patch-src-cdtrack.cc
Normal file
@ -0,0 +1,359 @@
|
|||||||
|
--- src/cdtrack.cc Sat Feb 14 20:11:05 2004
|
||||||
|
+++ src/cdtrack.cc Sun Dec 12 21:55:58 2004
|
||||||
|
@@ -42,6 +42,7 @@
|
||||||
|
int cdfd = -1, numtracks;
|
||||||
|
string cddbquery, cdid, cdtitle;
|
||||||
|
bool ejected = false;
|
||||||
|
+#define CDROM_LEADOUT 0xAA
|
||||||
|
|
||||||
|
struct istracknumber: public binary_function<int, const track*, bool> {
|
||||||
|
public: bool operator()(int n, const track *c) const {
|
||||||
|
@@ -58,51 +59,56 @@
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void cdtrack::play() {
|
||||||
|
- struct cdrom_ti n;
|
||||||
|
- n.cdti_trk0 = number;
|
||||||
|
- n.cdti_trk1 = number;
|
||||||
|
+ struct ioc_play_track n;
|
||||||
|
+ memset (&n, 0, sizeof (struct ioc_play_track));
|
||||||
|
+ n.start_track = number;
|
||||||
|
+ n.end_track = number;
|
||||||
|
|
||||||
|
- if(!ioctl(cdfd, CDROMPLAYTRKIND, &n)) {
|
||||||
|
+ if(!ioctl(cdfd, CDIOCPLAYTRACKS, &n)) {
|
||||||
|
paused = false;
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::pause() {
|
||||||
|
if(paused) {
|
||||||
|
- ioctl(cdfd, CDROMRESUME);
|
||||||
|
+ ioctl(cdfd, CDIOCRESUME);
|
||||||
|
paused = false;
|
||||||
|
|
||||||
|
- } else if(ioctl(cdfd, CDROMPAUSE) != -1) {
|
||||||
|
+ } else if(ioctl(cdfd, CDIOCPAUSE) != -1) {
|
||||||
|
paused = true;
|
||||||
|
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::stop() {
|
||||||
|
- if(ioctl(cdfd, CDROMSTOP) != -1) {
|
||||||
|
- }
|
||||||
|
+ if(ioctl(cdfd, CDIOCSTOP) != -1) {
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
string cdtrack::getdescription() const {
|
||||||
|
- return (string) "(cd) " + i2str(number) + ". " + title;
|
||||||
|
+ return (string) "(cd) " + i2str(number) + ". " + title;
|
||||||
|
}
|
||||||
|
|
||||||
|
vector<string> cdtrack::getstatus() const {
|
||||||
|
vector<string> r;
|
||||||
|
- struct cdrom_subchnl subc;
|
||||||
|
+ struct ioc_read_subchannel subc;
|
||||||
|
+ struct cd_sub_channel_info data;
|
||||||
|
char buf[64];
|
||||||
|
OrpheusPlayList::iterator it;
|
||||||
|
string sb;
|
||||||
|
|
||||||
|
- subc.cdsc_format = CDROM_MSF;
|
||||||
|
+ subc.address_format = CD_MSF_FORMAT;
|
||||||
|
+ subc.data = &data;
|
||||||
|
+ subc.data_len = sizeof(data);
|
||||||
|
+
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
|
||||||
|
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
|
||||||
|
sprintf(buf, _("track %d [%02d:%02d]"), number,
|
||||||
|
- subc.cdsc_reladdr.msf.minute, subc.cdsc_reladdr.msf.second);
|
||||||
|
+ subc.data->what.position.reladdr.msf.minute, subc.data->what.position.reladdr.msf.second);
|
||||||
|
|
||||||
|
r.push_back("CD: " + cdtitle + "; " + buf);
|
||||||
|
|
||||||
|
- it = find_if(plist.begin(), plist.end(), bind1st(istracknumber(), subc.cdsc_trk));
|
||||||
|
+ it = find_if(plist.begin(), plist.end(), bind1st(istracknumber(), subc.data->what.position.track_number));
|
||||||
|
|
||||||
|
if(it != plist.end()) {
|
||||||
|
cdtrack *ct = static_cast<cdtrack *>(*it);
|
||||||
|
@@ -112,92 +118,100 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- return r;
|
||||||
|
+ return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cdtrack::terminated() const {
|
||||||
|
double nframes, lframe;
|
||||||
|
- struct cdrom_subchnl subc;
|
||||||
|
+ struct ioc_read_subchannel subc;
|
||||||
|
+ struct cd_sub_channel_info data;
|
||||||
|
int ptime;
|
||||||
|
|
||||||
|
- subc.cdsc_format = CDROM_MSF;
|
||||||
|
-
|
||||||
|
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
|
||||||
|
- return
|
||||||
|
- subc.cdsc_audiostatus != CDROM_AUDIO_PLAY &&
|
||||||
|
- subc.cdsc_audiostatus != CDROM_AUDIO_PAUSED;
|
||||||
|
+ subc.address_format = CD_MSF_FORMAT;
|
||||||
|
+ subc.data_format = CD_CURRENT_POSITION;
|
||||||
|
+ subc.data = &data;
|
||||||
|
+ subc.data_len= sizeof(data);
|
||||||
|
+
|
||||||
|
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
|
||||||
|
+ return
|
||||||
|
+ subc.data->header.audio_status != CD_AS_PLAY_IN_PROGRESS &&
|
||||||
|
+ subc.data->header.audio_status != CD_AS_PLAY_PAUSED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::fwd(bool big) {
|
||||||
|
- playseconds(big ? 40 : 4);
|
||||||
|
+ playseconds(big ? 40 : 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::rwd(bool big) {
|
||||||
|
- playseconds(big ? -40 : -4);
|
||||||
|
+ playseconds(big ? -40 : -4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::playseconds(int offset) {
|
||||||
|
- struct cdrom_msf msf;
|
||||||
|
- struct cdrom_subchnl subc;
|
||||||
|
-
|
||||||
|
- subc.cdsc_format = CDROM_MSF;
|
||||||
|
-
|
||||||
|
- if(ioctl(cdfd, CDROMSUBCHNL, &subc) != -1) {
|
||||||
|
- msf.cdmsf_sec0 = subc.cdsc_absaddr.msf.second+offset;
|
||||||
|
- msf.cdmsf_min0 = subc.cdsc_absaddr.msf.minute;
|
||||||
|
- msf.cdmsf_frame0 = subc.cdsc_absaddr.msf.frame;
|
||||||
|
- msf.cdmsf_min1 = toc.cdte_addr.msf.minute;
|
||||||
|
- msf.cdmsf_sec1 = toc.cdte_addr.msf.second;
|
||||||
|
- msf.cdmsf_frame1 = toc.cdte_addr.msf.frame;
|
||||||
|
-
|
||||||
|
- if(msf.cdmsf_sec0 > 60 && (offset < 0)) {
|
||||||
|
- msf.cdmsf_sec0 = 60-abs(offset);
|
||||||
|
- msf.cdmsf_min0--;
|
||||||
|
+ struct ioc_play_msf msf;
|
||||||
|
+ struct ioc_read_subchannel subc;
|
||||||
|
+ struct cd_sub_channel_info data;
|
||||||
|
+
|
||||||
|
+ subc.address_format = CD_MSF_FORMAT;
|
||||||
|
+ subc.data = &data;
|
||||||
|
+ subc.data_len = sizeof(data);
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ if(ioctl(cdfd, CDIOCREADSUBCHANNEL, &subc) != -1) {
|
||||||
|
+ msf.start_s = subc.data->what.position.absaddr.msf.second+offset;
|
||||||
|
+ msf.start_m = subc.data->what.position.absaddr.msf.minute;
|
||||||
|
+ msf.start_f = subc.data->what.position.absaddr.msf.frame;
|
||||||
|
+ msf.end_m = toc.entry.addr.msf.minute;
|
||||||
|
+ msf.end_s = toc.entry.addr.msf.second;
|
||||||
|
+ msf.end_f = toc.entry.addr.msf.frame;
|
||||||
|
+
|
||||||
|
+ if(msf.start_s > 60 && (offset < 0)) {
|
||||||
|
+ msf.start_s = 60-abs(offset);
|
||||||
|
+ msf.start_m--;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMPLAYMSF, &msf) != -1) {
|
||||||
|
+ if(ioctl(cdfd, CDIOCPLAYMSF, &msf) != -1) {
|
||||||
|
}
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::readlength() {
|
||||||
|
signed int start_sec, start_min, end_min, end_sec;
|
||||||
|
- struct cdrom_msf msf;
|
||||||
|
- struct cdrom_tochdr toch;
|
||||||
|
+ struct ioc_play_msf msf;
|
||||||
|
+ struct ioc_toc_header toch;
|
||||||
|
|
||||||
|
- toc.cdte_track = number;
|
||||||
|
- toc.cdte_format = CDROM_MSF;
|
||||||
|
+ toc.track = number;
|
||||||
|
+ toc.address_format = CD_MSF_FORMAT;
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
|
||||||
|
- start_sec = toc.cdte_addr.msf.second;
|
||||||
|
- start_min = toc.cdte_addr.msf.minute;
|
||||||
|
-
|
||||||
|
- msf.cdmsf_min0 = toc.cdte_addr.msf.minute;
|
||||||
|
- msf.cdmsf_sec0 = toc.cdte_addr.msf.second;
|
||||||
|
- msf.cdmsf_frame0 = toc.cdte_addr.msf.frame;
|
||||||
|
-
|
||||||
|
- if(ioctl(cdfd, CDROMREADTOCHDR, &toch) != -1) {
|
||||||
|
- if(toch.cdth_trk1 == number) {
|
||||||
|
- toc.cdte_track = CDROM_LEADOUT;
|
||||||
|
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
|
||||||
|
+ start_sec = toc.entry.addr.msf.second;
|
||||||
|
+ start_min = toc.entry.addr.msf.minute;
|
||||||
|
+
|
||||||
|
+ msf.start_m = toc.entry.addr.msf.minute;
|
||||||
|
+ msf.start_s = toc.entry.addr.msf.second;
|
||||||
|
+ msf.start_f = toc.entry.addr.msf.frame;
|
||||||
|
+
|
||||||
|
+ if(ioctl(cdfd, CDIOREADTOCHEADER, &toch) != -1) {
|
||||||
|
+ if(toch.ending_track == number) {
|
||||||
|
+ toc.track = CDROM_LEADOUT;
|
||||||
|
} else {
|
||||||
|
- toc.cdte_track = number+1;
|
||||||
|
+ toc.track = number+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
|
||||||
|
- msf.cdmsf_min1 = toc.cdte_addr.msf.minute;
|
||||||
|
- msf.cdmsf_sec1 = toc.cdte_addr.msf.second;
|
||||||
|
- msf.cdmsf_frame1 = toc.cdte_addr.msf.frame;
|
||||||
|
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
|
||||||
|
+ msf.end_m = toc.entry.addr.msf.minute;
|
||||||
|
+ msf.end_s = toc.entry.addr.msf.second;
|
||||||
|
+ msf.end_f = toc.entry.addr.msf.frame;
|
||||||
|
|
||||||
|
- end_sec = toc.cdte_addr.msf.second;
|
||||||
|
- end_min = toc.cdte_addr.msf.minute;
|
||||||
|
+ end_sec = toc.entry.addr.msf.second;
|
||||||
|
+ end_min = toc.entry.addr.msf.minute;
|
||||||
|
|
||||||
|
length = (end_min*60+end_sec)-(start_min*60+start_sec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::toplaylist(ofstream &f) const {
|
||||||
|
@@ -208,7 +222,7 @@
|
||||||
|
|
||||||
|
static bool isourtrack(const track *t) {
|
||||||
|
const cdtrack *cd = dynamic_cast<const cdtrack *>(t);
|
||||||
|
- return (cd != 0);
|
||||||
|
+ return (cd != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int getdbsum(int val) {
|
||||||
|
@@ -218,7 +232,7 @@
|
||||||
|
for(i = 0; i < buf.size(); i++)
|
||||||
|
ret += buf[i]-'0';
|
||||||
|
|
||||||
|
- return ret;
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::cleartracks() {
|
||||||
|
@@ -227,15 +241,17 @@
|
||||||
|
while((it = find_if(plist.begin(), plist.end(), isourtrack)) != plist.end()) {
|
||||||
|
delete *it;
|
||||||
|
plist.erase(it);
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::readtracks() {
|
||||||
|
int st_track, lst_track, track, start_sec, start_min, end_sec, end_min;
|
||||||
|
int tracklen, tracksum, disklen, sframe;
|
||||||
|
unsigned int discid;
|
||||||
|
- struct cdrom_tocentry toc;
|
||||||
|
- struct cdrom_tochdr toch;
|
||||||
|
+ struct ioc_read_toc_single_entry toc;
|
||||||
|
+ struct ioc_toc_header toch;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
cdtrack *ct;
|
||||||
|
char buf[64];
|
||||||
|
|
||||||
|
@@ -248,32 +264,32 @@
|
||||||
|
|
||||||
|
cddbquery = "";
|
||||||
|
|
||||||
|
- if(!ioctl(cdfd, CDROMSTART) && !ioctl(cdfd, CDROMREADTOCHDR, &toch)) {
|
||||||
|
- st_track = toch.cdth_trk0;
|
||||||
|
- lst_track = toch.cdth_trk1;
|
||||||
|
+ if(!ioctl(cdfd, CDIOCSTART) && !ioctl(cdfd, CDIOREADTOCHEADER, &toch)) {
|
||||||
|
+ st_track = toch.starting_track;
|
||||||
|
+ lst_track = toch.ending_track;
|
||||||
|
|
||||||
|
- toc.cdte_format = CDROM_MSF;
|
||||||
|
+ toc.address_format = CD_MSF_FORMAT;
|
||||||
|
tracksum = 0;
|
||||||
|
|
||||||
|
for(track = 1; track <= lst_track; track++) {
|
||||||
|
- toc.cdte_track = track;
|
||||||
|
+ toc.track = track;
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
|
||||||
|
- start_sec = toc.cdte_addr.msf.second;
|
||||||
|
- start_min = toc.cdte_addr.msf.minute;
|
||||||
|
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
|
||||||
|
+ start_sec = toc.entry.addr.msf.second;
|
||||||
|
+ start_min = toc.entry.addr.msf.minute;
|
||||||
|
|
||||||
|
- if(toch.cdth_trk1 == track) {
|
||||||
|
- toc.cdte_track = CDROM_LEADOUT;
|
||||||
|
+ if(toch.ending_track == track) {
|
||||||
|
+ toc.track = CDROM_LEADOUT;
|
||||||
|
} else {
|
||||||
|
- toc.cdte_track = track + 1;
|
||||||
|
+ toc.track = track + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
sframe = (start_min * 60 + start_sec) * 75
|
||||||
|
- + toc.cdte_addr.msf.frame;
|
||||||
|
+ + toc.entry.addr.msf.frame;
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, CDROMREADTOCENTRY, &toc) != -1) {
|
||||||
|
- end_sec = toc.cdte_addr.msf.second;
|
||||||
|
- end_min = toc.cdte_addr.msf.minute;
|
||||||
|
+ if(ioctl(cdfd, CDIOREADTOCENTRY, &toc) != -1) {
|
||||||
|
+ end_sec = toc.entry.addr.msf.second;
|
||||||
|
+ end_min = toc.entry.addr.msf.minute;
|
||||||
|
|
||||||
|
tracklen = (end_min * 60 + end_sec) - (start_min * 60 + start_sec);
|
||||||
|
|
||||||
|
@@ -308,7 +324,7 @@
|
||||||
|
} else {
|
||||||
|
ui.status(_("No CD in the drive!"));
|
||||||
|
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cdtrack::loadtracks(const string &fname) {
|
||||||
|
@@ -388,7 +404,7 @@
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- return reply;
|
||||||
|
+ return reply;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::getcddb() {
|
||||||
|
@@ -468,15 +484,15 @@
|
||||||
|
ui.update();
|
||||||
|
} else {
|
||||||
|
ui.status(_("Failed to fetch track titles"));
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void cdtrack::eject() {
|
||||||
|
if(cdfd == -1)
|
||||||
|
cdfd = open(conf.getcddevice().c_str(), O_RDONLY | O_NONBLOCK);
|
||||||
|
|
||||||
|
- if(ioctl(cdfd, ejected ? CDROMCLOSETRAY : CDROMEJECT) != -1)
|
||||||
|
- ejected = !ejected;
|
||||||
|
+ if(ioctl(cdfd, ejected ? CDIOCALLOW : CDIOCEJECT) != -1)
|
||||||
|
+ ejected = !ejected;
|
||||||
|
}
|
||||||
|
|
||||||
|
string cdtrack::getcdid() {
|
20
audio/orpheus/files/patch-src-cdtrack.h
Normal file
20
audio/orpheus/files/patch-src-cdtrack.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- src/cdtrack.h Sat Oct 18 14:51:26 2003
|
||||||
|
+++ src/cdtrack.h Sun Dec 12 18:40:09 2004
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
-#include <linux/cdrom.h>
|
||||||
|
+#include <sys/cdio.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
class cdtrack : public track {
|
||||||
|
private:
|
||||||
|
int length, number;
|
||||||
|
- struct cdrom_tocentry toc;
|
||||||
|
+ struct ioc_read_toc_single_entry toc;
|
||||||
|
string title;
|
||||||
|
bool paused;
|
||||||
|
|
11
audio/orpheus/files/patch-src-mixerctl.cc
Normal file
11
audio/orpheus/files/patch-src-mixerctl.cc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- src/mixerctl.cc Sat Feb 14 20:11:05 2004
|
||||||
|
+++ src/mixerctl.cc Sun Dec 12 22:08:37 2004
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
|
||||||
|
if((fd = ::open(devname.c_str(), O_RDWR)) != -1) {
|
||||||
|
if(ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask) != -1) {
|
||||||
|
- for(ct = ctVolume; ct != channeltype_end; (int) ct += 1) {
|
||||||
|
+ for(ct = ctVolume; ct != channeltype_end; ct = (mixerctl::channeltype) (ct + 1)) {
|
||||||
|
if((1 << (int) ct) & devmask) {
|
||||||
|
channels.insert(ct);
|
||||||
|
}
|
11
audio/orpheus/files/patch-src-orpheius.cc
Normal file
11
audio/orpheus/files/patch-src-orpheius.cc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- src/orpheusconf.cc Sat Feb 14 20:11:05 2004
|
||||||
|
+++ src/orpheusconf.cc Sun Dec 12 16:03:16 2004
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
|
||||||
|
OrpheusConfiguration::OrpheusConfiguration()
|
||||||
|
: dname((string) getenv("HOME") + "/.orpheus"),
|
||||||
|
- oggplayer("ogg123 -v"), cddev("/dev/cdrom"),
|
||||||
|
+ oggplayer("ogg123 -v"), cddev("/cdrom"),
|
||||||
|
mixerdev("/dev/mixer"), cdautofetch(true), russian(false),
|
||||||
|
autosavepl(false), autoplay(true), playmode(Normal),
|
||||||
|
sortorder(noSort), sortasc(true)
|
31
audio/orpheus/files/patch-src-uitext.cc
Normal file
31
audio/orpheus/files/patch-src-uitext.cc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
--- src/uitext.cc Tue Feb 17 04:18:21 2004
|
||||||
|
+++ src/uitext.cc Sun Dec 12 22:12:41 2004
|
||||||
|
@@ -577,14 +577,16 @@
|
||||||
|
autosavepl = !autosavepl;
|
||||||
|
break;
|
||||||
|
case 41:
|
||||||
|
- if(++((int) playmode) == PlayMode_size)
|
||||||
|
+ playmode = (PlayMode) (playmode + 1);
|
||||||
|
+ if(playmode == PlayMode_size)
|
||||||
|
playmode = Normal;
|
||||||
|
break;
|
||||||
|
case 42:
|
||||||
|
autoplay = !autoplay;
|
||||||
|
break;
|
||||||
|
case 43:
|
||||||
|
- if(++((int) sortorder) == SortOrder_size)
|
||||||
|
+ sortorder = (SortOrder) (sortorder + 1);
|
||||||
|
+ if(sortorder == SortOrder_size)
|
||||||
|
sortorder = byFileName;
|
||||||
|
break;
|
||||||
|
case 44:
|
||||||
|
@@ -719,7 +721,8 @@
|
||||||
|
while(!finished) {
|
||||||
|
m.clear();
|
||||||
|
|
||||||
|
- for(ct = mixerctl::ctVolume; ct != mixerctl::channeltype_end; (int) ct += 1) {
|
||||||
|
+ for(ct = mixerctl::ctVolume; ct != mixerctl::channeltype_end; ct = (mixerctl::channeltype) (ct + 1))
|
||||||
|
+ {
|
||||||
|
if(chavail.count(ct)) {
|
||||||
|
val = mix.readlevel(ct);
|
||||||
|
if(val >= 0) {
|
4
audio/orpheus/pkg-descr
Normal file
4
audio/orpheus/pkg-descr
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Orpheus is a light-weight text mode menu- and window-driven audio player
|
||||||
|
application for CDs and files in MP3 and Vorbis OGG format.
|
||||||
|
|
||||||
|
WWW: http://thekonst.net/orpheus/
|
3
audio/orpheus/pkg-plist
Normal file
3
audio/orpheus/pkg-plist
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
bin/orpheus
|
||||||
|
%%NLS%%share/locale/ru/LC_MESSAGES/orpheus.mo
|
||||||
|
%%NLS%%@unexec rmdir %D/share/locale/ru/LC_MESSAGES 2>/dev/null || true
|
Loading…
x
Reference in New Issue
Block a user