diff options
author | Martin Prochnow <nordlicht@martins-kabuff.de> | 2006-04-11 19:12:01 +0200 |
---|---|---|
committer | Andreas Mair <andreas@vdr-developer.org> | 2006-04-11 19:12:01 +0200 |
commit | 82bfd4c15949019ede37b2b04be79659c5c65dbe (patch) | |
tree | 5deb5bf0d98cbee6c5ee17bb9323d0748ed567a7 /tools.c | |
parent | c849f2898257df19fddb97ac99c392c410f120d1 (diff) | |
download | vdr-plugin-extrecmenu-82bfd4c15949019ede37b2b04be79659c5c65dbe.tar.gz vdr-plugin-extrecmenu-82bfd4c15949019ede37b2b04be79659c5c65dbe.tar.bz2 |
Version 0.9v0.9
- removed myDvbPlayer, use VDR's cDvbPlayer instead
- made adjustments to work with BigPatch-VDRs (JumpPlay-patch)
- added option for sort recordings
- moved editing of priority and lifetime to its own submenu
- removed option to select alternative dvd marker, the icon is now default
- added default values for setup options
- moved content of patches/ and tools/ to contrib/ and added a small README
- new version of 'dvdarchive.sh'; thanks to vejoun from vdr-portal.de
- fixed problem with archive dvd recordings at the base dir; thanks to Mase from vdr-portal.de for reporting
Diffstat (limited to 'tools.c')
-rw-r--r-- | tools.c | 65 |
1 files changed, 65 insertions, 0 deletions
@@ -1,6 +1,14 @@ +/* + * See the README file for copyright information and how to reach the author. + * + * The code for sort recordings as adopted from the SortRecordings-patch + * copyright by FrankJepsen and FRank99 from vdr-portal.de + */ + #include <vdr/videodir.h> #include <vdr/recording.h> #include "tools.h" +#include "mymenusetup.h" bool MoveVideoFile(cRecording *Recording,char *NewName) { @@ -23,3 +31,60 @@ bool MoveVideoFile(cRecording *Recording,char *NewName) isyslog("[extrecmenu] moving failed"); return false; } + +// --- myRecListItem ---------------------------------------------------------- +myRecListItem::myRecListItem(cRecording *Recording) +{ + recording=Recording; + filename=recording->FileName(); + sortbuffer=NULL; +} + +myRecListItem::~myRecListItem() +{ + free(sortbuffer); +} + +char *myRecListItem::StripEpisodeName(char *s) +{ + char *t=s,*s1=NULL,*s2=NULL; + while(*t) + { + if(*t=='/') + { + if(s1) + { + if(s2) + s1=s2; + s2=t; + } + else + s1=t; + } + t++; + } + *s1=255; + if(s1&&s2&&(s1==s&&(mysetup.SortRecords&1)||s1!=s&&(mysetup.SortRecords==3||mysetup.SortRecords!=2&&!strchr(".-$ª·",*(s1-1))))) + memmove(s1+1,s2,t-s2+1); + return s; +} + +char *myRecListItem::SortName()const +{ + if(!sortbuffer) + { + char *s=StripEpisodeName(strdup(filename+strlen(VideoDirectory))); + strreplace(s,'/','a'); + int l=strxfrm(NULL,s,0)+1; + sortbuffer=MALLOC(char,l); + strxfrm(sortbuffer,s,l); + free(s); + } + return sortbuffer; +} + +int myRecListItem::Compare(const cListObject &ListObject)const +{ + myRecListItem *item=(myRecListItem*)&ListObject; + return strcasecmp(SortName(),item->SortName()); +} |