summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Mair <andreas@vdr-developer.org>2010-05-29 16:47:56 +0200
committerAndreas Mair <andreas@vdr-developer.org>2010-05-29 16:47:56 +0200
commit916da87bf4b739215aa921cda97a36b816e5ba41 (patch)
treee3e1f3baa811ba9e89de99736c9e69baef42fd1f
parentab6811d93006be2338c9711b40d1d67533a094ca (diff)
downloadvdr-plugin-extrecmenu-1.2-test1-am2b.tar.gz
vdr-plugin-extrecmenu-1.2-test1-am2b.tar.bz2
Version 1.2-test1-am2bv1.2-test1-am2b
- fixed PES cutting using cutting queue (Reported by tomas @vdr-portal.de). - fixed some gcc warnings and errors (Based on suggestions by Zzam @vdr-portal.de).
-rw-r--r--CHANGES.AM4
-rw-r--r--extrecmenu.c42
-rw-r--r--mymenucommands.c4
-rw-r--r--mymenueditrecording.c64
-rw-r--r--mymenurecordings.c28
-rw-r--r--myreplaycontrol.c11
-rw-r--r--tools.c10
-rw-r--r--tools.h8
8 files changed, 90 insertions, 81 deletions
diff --git a/CHANGES.AM b/CHANGES.AM
index d246561..1355923 100644
--- a/CHANGES.AM
+++ b/CHANGES.AM
@@ -1,5 +1,9 @@
Changes by Andreas Mair <andreas _AT_ vdr-developer.org>
+* 1.2-test1-AM2b
+- fixed PES cutting using cutting queue (Reported by tomas @vdr-portal.de).
+- fixed some gcc warnings and errors (Based on suggestions by Zzam @vdr-portal.de).
+
* 1.2-test1-AM2a
- Fixed access to 001.vdr/00001.ts and index.vdr/index (Length in recordings list works again).
diff --git a/extrecmenu.c b/extrecmenu.c
index 3d466ee..0aac138 100644
--- a/extrecmenu.c
+++ b/extrecmenu.c
@@ -11,7 +11,7 @@
using namespace std;
-static const char *VERSION = "1.2-test1-am2a";
+static const char *VERSION = "1.2-test1-am2b";
static const char *DESCRIPTION = tr("Extended recordings menu");
static const char *MAINMENUENTRY = "ExtRecMenu";
@@ -34,7 +34,7 @@ class cPluginExtrecmenu:public cPlugin
virtual const char *MainMenuEntry(void){return mysetup.HideMainMenuEntry?NULL:MAINMENUENTRY;}
virtual cOsdObject *MainMenuAction(void);
virtual cMenuSetupPage *SetupMenu(void);
- virtual bool SetupParse(const char *Name,const char *Value);
+ virtual bool SetupParse(const char *_Name,const char *Value);
virtual bool Service(const char *Id,void *Data = NULL);
virtual const char **SVDRPHelpPages(void);
virtual cString SVDRPCommand(const char *Command,const char *Option,int &ReplyCode);
@@ -53,7 +53,7 @@ const char *cPluginExtrecmenu::CommandLineHelp(void)
return NULL;
}
-bool cPluginExtrecmenu::ProcessArgs(int argc,char *argv[])
+bool cPluginExtrecmenu::ProcessArgs(int /* argc */,char ** /* argv */)
{
return true;
}
@@ -104,40 +104,40 @@ cMenuSetupPage *cPluginExtrecmenu::SetupMenu(void)
return new myMenuSetup();
}
-bool cPluginExtrecmenu::SetupParse(const char *Name,const char *Value)
+bool cPluginExtrecmenu::SetupParse(const char *_Name,const char *Value)
{
- if(!strcasecmp(Name,"IsOrgRecMenu"))
+ if(!strcasecmp(_Name,"IsOrgRecMenu"))
return (mysetup.ReplaceOrgRecMenu==false); // vdr-replace patch
- if(!strcasecmp(Name,"ShowRecDate"))
+ if(!strcasecmp(_Name,"ShowRecDate"))
mysetup.ShowRecDate=atoi(Value);
- else if(!strcasecmp(Name,"ShowRecTime"))
+ else if(!strcasecmp(_Name,"ShowRecTime"))
mysetup.ShowRecTime=atoi(Value);
- else if(!strcasecmp(Name,"ShowRecLength"))
+ else if(!strcasecmp(_Name,"ShowRecLength"))
mysetup.ShowRecLength=atoi(Value);
- else if(!strcasecmp(Name,"HideMainMenuEntry"))
+ else if(!strcasecmp(_Name,"HideMainMenuEntry"))
mysetup.HideMainMenuEntry=atoi(Value);
- else if(!strcasecmp(Name,"ReplaceOrgRecMenu"))
+ else if(!strcasecmp(_Name,"ReplaceOrgRecMenu"))
mysetup.ReplaceOrgRecMenu=atoi(Value);
- else if(!strcasecmp(Name,"PatchNew"))
+ else if(!strcasecmp(_Name,"PatchNew"))
mysetup.PatchNew=atoi(Value);
- else if(!strcasecmp(Name,"ShowNewRecs"))
+ else if(!strcasecmp(_Name,"ShowNewRecs"))
mysetup.ShowNewRecs=atoi(Value);
- else if(!strcasecmp(Name,"DescendSorting"))
+ else if(!strcasecmp(_Name,"DescendSorting"))
mysetup.DescendSorting=atoi(Value);
- else if(!strcasecmp(Name,"GoLastReplayed"))
+ else if(!strcasecmp(_Name,"GoLastReplayed"))
mysetup.GoLastReplayed=atoi(Value);
- else if(!strcasecmp(Name,"ReturnToPlugin"))
+ else if(!strcasecmp(_Name,"ReturnToPlugin"))
mysetup.ReturnToPlugin=atoi(Value);
- else if(!strcasecmp(Name,"LimitBandwidth"))
+ else if(!strcasecmp(_Name,"LimitBandwidth"))
mysetup.LimitBandwidth=atoi(Value);
- else if(!strcasecmp(Name,"UseVDRsRecInfoMenu"))
+ else if(!strcasecmp(_Name,"UseVDRsRecInfoMenu"))
mysetup.UseVDRsRecInfoMenu=atoi(Value);
- else if(!strcasecmp(Name,"PatchFont"))
+ else if(!strcasecmp(_Name,"PatchFont"))
mysetup.PatchFont=atoi(Value);
- else if(!strcasecmp(Name,"FileSystemFreeMB"))
+ else if(!strcasecmp(_Name,"FileSystemFreeMB"))
mysetup.FileSystemFreeMB=atoi(Value);
- else if(!strcasecmp(Name,"UseCutterQueue"))
+ else if(!strcasecmp(_Name,"UseCutterQueue"))
mysetup.UseCutterQueue=atoi(Value);
else
return false;
@@ -165,7 +165,7 @@ const char **cPluginExtrecmenu::SVDRPHelpPages(void)
return NULL;
}
-cString cPluginExtrecmenu::SVDRPCommand(const char *Command,const char *Option,int &ReplyCode)
+cString cPluginExtrecmenu::SVDRPCommand(const char * /* Command */,const char * /* Option */,int & /* ReplyCode */)
{
return NULL;
}
diff --git a/mymenucommands.c b/mymenucommands.c
index 3c5099a..237c1f9 100644
--- a/mymenucommands.c
+++ b/mymenucommands.c
@@ -9,10 +9,10 @@
#include <vdr/interface.h>
#include "mymenucommands.h"
-myMenuCommands::myMenuCommands(const char *Title,cCommands *Commands,const char *Parameters):cOsdMenu(Title)
+myMenuCommands::myMenuCommands(const char *Title,cCommands *_Commands,const char *Parameters):cOsdMenu(Title)
{
SetHasHotkeys();
- commands=Commands;
+ commands=_Commands;
parameters=Parameters?strdup(Parameters):NULL;
for(cCommand *command=commands->First();command;command=commands->Next(command))
Add(new cOsdItem(hk(command->Title())));
diff --git a/mymenueditrecording.c b/mymenueditrecording.c
index 2f4069b..bf05140 100644
--- a/mymenueditrecording.c
+++ b/mymenueditrecording.c
@@ -25,7 +25,7 @@ myMenuRenameRecording::myMenuRenameRecording(cRecording *Recording,const char *D
if(recording)
{
- char *p=strrchr(recording->Name(),'~');
+ char *p=(char*)strrchr(recording->Name(),'~'); //TODO
if(p)
{
strn0cpy(name,++p,sizeof(name));
@@ -106,7 +106,7 @@ eOSState myMenuRenameRecording::ProcessKey(eKeys Key)
// --- myMenuNewName ----------------------------------------------------------
bool myMenuMoveRecording::clearall=false;
-char newname[128];
+char newname[128]; //TODO
class myMenuNewName:public cOsdMenu
{
@@ -161,17 +161,17 @@ class myMenuMoveRecordingItem:public cOsdItem
myMenuMoveRecordingItem(const char *Title,int Level);
myMenuMoveRecordingItem(cRecording *Recording,int Level);
int Level(){return level;}
- void SetLevel(int Level){level=Level;}
+ void SetLevel(int _Level){level=_Level;}
};
-myMenuMoveRecordingItem::myMenuMoveRecordingItem(const char *Title,int Level)
+myMenuMoveRecordingItem::myMenuMoveRecordingItem(const char *Title,int _Level)
{
- level=Level;
+ level=_Level;
title=strdup(Title);
SetText(title);
}
-myMenuMoveRecordingItem::myMenuMoveRecordingItem(cRecording *Recording,int Level)
+myMenuMoveRecordingItem::myMenuMoveRecordingItem(cRecording *Recording,int _Level)
{
level=0;
@@ -181,7 +181,7 @@ myMenuMoveRecordingItem::myMenuMoveRecordingItem(cRecording *Recording,int Level
if(*s=='~')
level++;
}
- if(Level<level)
+ if(_Level<level)
{
s=Recording->Name();
const char *p=s;
@@ -189,7 +189,7 @@ myMenuMoveRecordingItem::myMenuMoveRecordingItem(cRecording *Recording,int Level
{
if(*s=='~')
{
- if(Level--)
+ if(_Level--)
p=s+1;
else
break;
@@ -234,11 +234,11 @@ void myMenuMoveRecording::Set()
char *lastitemtext=NULL;
myMenuMoveRecordingItem *lastitem=NULL;
- for(cRecording *recording=Recordings.First();recording;recording=Recordings.Next(recording))
+ for(cRecording *_recording=Recordings.First();_recording;_recording=Recordings.Next(_recording))
{
- if(!base||(strstr(recording->Name(),base)==recording->Name()&&recording->Name()[strlen(base)]=='~'))
+ if(!base||(strstr(_recording->Name(),base)==_recording->Name()&&_recording->Name()[strlen(base)]=='~'))
{
- myMenuMoveRecordingItem *item=new myMenuMoveRecordingItem(recording,level);
+ myMenuMoveRecordingItem *item=new myMenuMoveRecordingItem(_recording,level);
if(*item->Text())
{
if(lastitemtext&&!strcmp(lastitemtext,item->Text())) // same text
@@ -286,7 +286,7 @@ eOSState myMenuMoveRecording::Open()
eOSState myMenuMoveRecording::MoveRec()
{
char *oldname=NULL;
- char *newname=NULL;
+ char *_newname=NULL;
char *dir=NULL;
char *tmpdirbase=dirbase?ExchangeChars(strdup(dirbase),true):NULL;
char *tmpdirname=dirname?ExchangeChars(strdup(dirname),true):NULL;
@@ -307,7 +307,7 @@ eOSState myMenuMoveRecording::MoveRec()
asprintf(&dir,"%s%s%s",base?base:"",base?"~":"",item->Text());
else // needed for move recording menu
{
- char *p=strrchr(recording->Name(),'~');
+ const char *p=strrchr(recording->Name(),'~');
asprintf(&dir,"%s%s%s~%s",base?base:"",base?"~":"",item->Text(),p?p+1:recording->Name());
}
}
@@ -315,7 +315,7 @@ eOSState myMenuMoveRecording::MoveRec()
{
if(!dirname)
{
- char *p=strrchr(recording->Name(),'~');
+ const char *p=strrchr(recording->Name(),'~');
asprintf(&dir,"%s",p?++p:recording->Name());
}
}
@@ -326,17 +326,17 @@ eOSState myMenuMoveRecording::MoveRec()
asprintf(&dir,"%s",base);
else
{
- char *p=strrchr(recording->Name(),'~');
+ const char *p=strrchr(recording->Name(),'~');
asprintf(&dir,"%s~%s",base,p?p:recording->Name());
}
}
if(dir)
dir=ExchangeChars(dir,true);
- asprintf(&newname,"%s%s%s%s",VideoDirectory,dir?"/":"",dir?dir:"",strrchr(dirname?oldname:recording->FileName(),'/'));
+ asprintf(&_newname,"%s%s%s%s",VideoDirectory,dir?"/":"",dir?dir:"",strrchr(dirname?oldname:recording->FileName(),'/'));
// getting existing part of target path
- string path=newname;
+ string path=_newname;
string::size_type pos=string::npos;
do
pos=path.rfind('/',pos)-1;
@@ -350,7 +350,7 @@ eOSState myMenuMoveRecording::MoveRec()
// are source and target at the same filesystem?
if(stat1.st_dev==stat2.st_dev)
{
- if(MoveRename(oldname,newname,dirname?NULL:recording,true))
+ if(MoveRename(oldname,_newname,dirname?NULL:recording,true))
{
clearall=true;
state=osBack;
@@ -361,7 +361,7 @@ eOSState myMenuMoveRecording::MoveRec()
struct statvfs fsstat;
if(!statvfs(path.c_str(),&fsstat))
{
- int freemb=int(fsstat.f_bavail/(1024.0*1024.0/fsstat.f_bsize));
+ int freemb=int((double)fsstat.f_bavail/(1024.0*1024.0/fsstat.f_bsize));
int recmb=0;
// moving a single recording
@@ -370,7 +370,7 @@ eOSState myMenuMoveRecording::MoveRec()
recmb=DirSizeMB(recording->FileName());
if(freemb-recmb > 0 || Interface->Confirm(tr("Target filesystem filled - try anyway?")))
{
- MoveCutterThread->AddToMoveList(oldname,newname);
+ MoveCutterThread->AddToMoveList(oldname,_newname);
clearall=true;
state=osBack;
}
@@ -380,7 +380,7 @@ eOSState myMenuMoveRecording::MoveRec()
{
string buf=oldname;
buf+="/";
- if(!buf.compare(0,buf.length(),newname))
+ if(!buf.compare(0,buf.length(),_newname))
Skins.Message(mtError,tr("Moving into own sub-directory not allowed!"));
else
{
@@ -397,16 +397,16 @@ eOSState myMenuMoveRecording::MoveRec()
{
if(!strncmp(oldname,rec->FileName(),strlen(oldname)))
{
- char *buf=ExchangeChars(strdup(oldname+strlen(VideoDirectory)+1),false);
+ char *_buf=ExchangeChars(strdup(oldname+strlen(VideoDirectory)+1),false);
- if(strcmp(rec->Name(),buf))
+ if(strcmp(rec->Name(),_buf))
{
- free(buf);
- asprintf(&buf,"%s%s",newname,rec->FileName()+strlen(oldname));
+ free(_buf);
+ asprintf(&_buf,"%s%s",_newname,rec->FileName()+strlen(oldname));
- MoveCutterThread->AddToMoveList(rec->FileName(),buf);
+ MoveCutterThread->AddToMoveList(rec->FileName(),_buf);
}
- free(buf);
+ free(_buf);
}
}
clearall=true;
@@ -422,7 +422,7 @@ eOSState myMenuMoveRecording::MoveRec()
}
}
free(oldname);
- free(newname);
+ free(_newname);
free(dir);
free(tmpdirbase);
free(tmpdirname);
@@ -483,17 +483,17 @@ eOSState myMenuRecordingDetails::ProcessKey(eKeys Key)
if(Key==kOk)
{
char *oldname=strdup(recording->FileName());
- char *newname=strdup(recording->FileName());
+ char *_newname=strdup(recording->FileName());
- sprintf(newname+strlen(newname)-9,"%02d.%02d.rec",priority,lifetime);
+ sprintf(_newname+strlen(_newname)-9,"%02d.%02d.rec",priority,lifetime);
- if(MoveRename(oldname,newname,recording,false))
+ if(MoveRename(oldname,_newname,recording,false))
state=osBack;
else
state=osContinue;
free(oldname);
- free(newname);
+ free(_newname);
}
}
return state;
diff --git a/mymenurecordings.c b/mymenurecordings.c
index 607785d..4286d25 100644
--- a/mymenurecordings.c
+++ b/mymenurecordings.c
@@ -285,17 +285,17 @@ myMenuRecordingsItem::myMenuRecordingsItem(cRecording *Recording,int Level)
titlebuffer << '\t';
// recording title
- string s=Recording->Name();
- string::size_type i=s.rfind('~');
+ string _s=Recording->Name();
+ string::size_type i=_s.rfind('~');
if(i!=string::npos)
{
- titlebuffer << s.substr(i+1,s.length()-i);
- idbuffer << s.substr(i+1,s.length()-i);
+ titlebuffer << _s.substr(i+1,_s.length()-i);
+ idbuffer << _s.substr(i+1,_s.length()-i);
}
else
{
- titlebuffer << s;
- idbuffer << s;
+ titlebuffer << _s;
+ idbuffer << _s;
}
title=strdup(titlebuffer.str().c_str());
@@ -336,7 +336,7 @@ void myMenuRecordingsItem::IncrementCounter(bool IsNew)
newentries,
(!mysetup.ShowRecDate&&!mysetup.ShowRecTime&&!mysetup.ShowRecLength)?"\t":"",
(mysetup.ShowRecDate||mysetup.ShowRecTime||mysetup.ShowRecLength)?"\t":"",
- (mysetup.ShowRecDate&&mysetup.ShowRecTime||mysetup.ShowRecTime&&mysetup.ShowRecLength||mysetup.ShowRecLength&&mysetup.ShowRecDate)?"\t":"",
+ ((mysetup.ShowRecDate&&mysetup.ShowRecTime)||(mysetup.ShowRecTime&&mysetup.ShowRecLength)||(mysetup.ShowRecLength&&mysetup.ShowRecDate))?"\t":"",
(mysetup.ShowRecDate&&mysetup.ShowRecTime&&mysetup.ShowRecLength)?"\t":"",
name);
}
@@ -348,7 +348,7 @@ void myMenuRecordingsItem::IncrementCounter(bool IsNew)
myStrReplace(entries.str(),' ',Icons::FixedBlank()).c_str(),
(!mysetup.ShowRecDate&&!mysetup.ShowRecTime&&!mysetup.ShowRecLength)?"\t":"",
(mysetup.ShowRecDate||mysetup.ShowRecTime||mysetup.ShowRecLength)?"\t":"",
- (mysetup.ShowRecDate&&mysetup.ShowRecTime||mysetup.ShowRecTime&&mysetup.ShowRecLength||mysetup.ShowRecLength&&mysetup.ShowRecDate)?"\t":"",
+ ((mysetup.ShowRecDate&&mysetup.ShowRecTime)||(mysetup.ShowRecTime&&mysetup.ShowRecLength)||(mysetup.ShowRecLength&&mysetup.ShowRecDate))?"\t":"",
(mysetup.ShowRecDate&&mysetup.ShowRecTime&&mysetup.ShowRecLength)?"\t":"",
name);
}
@@ -443,7 +443,7 @@ int myMenuRecordings::FreeMB()
struct statvfs fsstat;
if(!statvfs(path.c_str(),&fsstat))
{
- freediskspace=int(fsstat.f_bavail/(1024.0*1024.0/fsstat.f_bsize));
+ freediskspace=int((double)fsstat.f_bavail/(1024.0*1024.0/fsstat.f_bsize));
for(cRecording *rec=DeletedRecordings.First();rec;rec=DeletedRecordings.Next(rec))
{
@@ -560,13 +560,13 @@ void myMenuRecordings::SetHelpKeys()
}
// create the menu list
-void myMenuRecordings::Set(bool Refresh,char *current)
+void myMenuRecordings::Set(bool Refresh,char *_current)
{
- const char *lastreplayed=current?current:myReplayControl::LastReplayed();
+ const char *lastreplayed=_current?_current:myReplayControl::LastReplayed();
cThreadLock RecordingsLock(&Recordings);
- if(Refresh && !current)
+ if(Refresh && !_current)
{
fsid=0;
myMenuRecordingsItem *item=(myMenuRecordingsItem*)Get(Current());
@@ -682,7 +682,7 @@ bool myMenuRecordings::Open()
eOSState myMenuRecordings::Play()
{
char *msg=NULL;
- char *name=NULL;
+ const char *name=NULL;
char path[MaxFileName];
@@ -940,7 +940,7 @@ eOSState myMenuRecordings::Info(void)
if(item && !item->IsDirectory())
{
cRecording *recording=GetRecording(item);
- if(mysetup.UseVDRsRecInfoMenu && (!recording || recording && !recording->Info()->Title()))
+ if(mysetup.UseVDRsRecInfoMenu && (!recording || (recording && !recording->Info()->Title())))
return osContinue;
else
return AddSubMenu(new myMenuRecordingInfo(recording,true));
diff --git a/myreplaycontrol.c b/myreplaycontrol.c
index 9ba50da..248fa1d 100644
--- a/myreplaycontrol.c
+++ b/myreplaycontrol.c
@@ -47,10 +47,15 @@ eOSState myReplayControl::ProcessKey(eKeys Key)
Skins.Message(mtError,tr("Recording already in cutter queue!"));
else
{
- cMarks marks;
- marks.Load(filename);
+ cMarks _marks;
+#if VDRVERSNUM >= 10703
+ cRecording Recording(filename);
+ _marks.Load(filename, Recording.FramesPerSecond(), Recording.IsPesRecording());
+#else
+ _marks.Load(filename);
+#endif
- if(!marks.Count())
+ if(!_marks.Count())
Skins.Message(mtError,tr("No editing marks defined!"));
else
{
diff --git a/tools.c b/tools.c
index 62e3ee5..377a5c1 100644
--- a/tools.c
+++ b/tools.c
@@ -213,10 +213,10 @@ char *myRecListItem::StripEpisodeName(char *s)
if(SortByName)
*s1=1;
else
- *(s2+1)=255;
+ *(s2+1)=(char)255;
}
else
- *s1=255;
+ *s1=(char)255;
if(s1 && s2 && !SortByName)
memmove(s1+1,s2,t-s2+1);
@@ -299,7 +299,7 @@ void WorkerThread::Action()
if(editedfilename && RemoveVideoFile(editedfilename) && MakeDirs(editedfilename,true))
{
char *s=strdup(editedfilename);
- char *e=strrchr(s,'.');
+ char *e=(char*)strrchr(s,'.'); //TODO
if(e)
{
if(!strcmp(e,".rec"))
@@ -494,7 +494,7 @@ void WorkerThread::Cut(string From,string To)
lastiframe=0;
if(cutin)
{
-#if VDRVERSNUM >= 10703
+#if VDRVERSNUM >= 10706
if(isPesRecording)
cRemux::SetBrokenLink(buffer,length);
else
@@ -510,7 +510,7 @@ void WorkerThread::Cut(string From,string To)
error="safe_write";
break;
}
- if(!toindex->Write(picturetype,tofilename->Number(),filesize))
+ if(!toindex->Write(picturetype,(uint16_t)(tofilename->Number()),filesize))
{
error="toindex";
break;
diff --git a/tools.h b/tools.h
index 4e5fdeb..72babbe 100644
--- a/tools.h
+++ b/tools.h
@@ -5,7 +5,7 @@ class SortListItem:public cListObject
private:
std::string path;
public:
- SortListItem(std::string Path){path=Path;};
+ SortListItem(std::string _Path){path=_Path;};
std::string Path(){return path;}
};
@@ -50,7 +50,7 @@ class MoveListItem:public cListObject
std::string from;
std::string to;
public:
- MoveListItem(std::string From,std::string To){from=From;to=To;moveinprogress=false;movecanceled=false;}
+ MoveListItem(std::string _From,std::string _To){from=_From;to=_To;moveinprogress=false;movecanceled=false;}
std::string From(){return from;}
std::string To(){return to;}
void SetMoveInProgress(){moveinprogress=true;}
@@ -72,8 +72,8 @@ class CutterListItem:public cListObject
std::string filename;
std::string newfilename;
public:
- CutterListItem(std::string FileName){filename=FileName;cutinprogress=false;};
- void SetNewFileName(std::string NewFileName){newfilename=NewFileName;}
+ CutterListItem(std::string _FileName){filename=_FileName;cutinprogress=false;};
+ void SetNewFileName(std::string _NewFileName){newfilename=_NewFileName;}
std::string FileName(){return filename;}
std::string NewFileName(){return newfilename;}
void SetCutInProgress(){cutinprogress=true;}