tytd-2019/source/settings.c

149 lines
3.0 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "settings.h"
int irmode=0;
char* FileNameParse(char* path){
char *yt = malloc(sizeof(char)*530);
size_t len = strlen(path);
size_t pos=0;
for(size_t i = len-1;path[i] != '/';i--){
pos = i;
}
for(size_t i = pos;i<=len;i++){
size_t ind = i - pos;
yt[ind] = path[i];
}
return yt;
}
void DLFhandler(dlf* dl,size_t real){
//max fat32 is 4,294,967,000 just to be safe
size_t bytesnow = ftell(dl->fp) + real;
if(bytesnow >= (size_t)4294967000){
dl->fileid++;
char nam[1008];
sprintf(nam,"%s.%i",dl->fnam,dl->fileid);
freopen(nam,"wb",dl->fp);
}
}
int UsingIRFeatures(){
return irmode;
}
void SwitchIR(){
if(irmode==0){irmode=1;}else{irmode=0;}
}
FILE* HistoryRead(){
return fopen("/TYTD/history.txt","r");
}
FILE* HistoryAppend(){
return fopen("/TYTD/history.txt","aw");
}
FILE* PlaylistTXT(char* fil){
char file2[500];
sprintf(file2,"/TYTD/PLTXT/%s",fil);
return fopen(file2,"r");
}
void CreatePL(char* fil){
char file2[500];
sprintf(file2,"/TYTD/PLTXT/%s",fil);
FILE *f =fopen(file2,"w");
fclose(f);
}
void WriteFile2PL(char* fil,char* type,char* url,char* filename){
char file2[500];
sprintf(file2,"/TYTD/PLTXT/%s",fil);
FILE *f =fopen(file2,"a");
fseek(f,0,SEEK_END);
if(ftell(f) == 0L){
fprintf(f,"%s %s %s",type,url,filename);
}else{
fprintf(f,"\n%s %s %s",type,url,filename);
}
fclose(f);
}
int FileSystemDrivers(){
fatInitDefault();
USBStorage_Initialize();
return 0;
}
char* OpenVideoFile(char* filename){
char *yt = malloc(sizeof(char)*530);
snprintf(yt,530,"/TYTD/Videos/%s.mp4",filename);
return yt;
}
void OpenPlaylistFile(char* playlist){
char yt[820];
snprintf(yt,820,"/TYTD/Videos/%s",playlist);
mkdir(yt,0777);
}
char* OpenFile(char* fname2){
char filename[720];
char *yt = malloc(sizeof(char)*820);
char timein[20];
time_t now = time(0);
strftime(timein, sizeof(timein), "%Y%m%d_%H%M%S", localtime(&now));
snprintf(filename,720, fname2,timein);
snprintf(yt,820,"/TYTD/Downloads/%s",filename);
return yt;
}
char* OpenPlaylistVideoFile(char* playlist,char* video){
char *yt = malloc(sizeof(char)*820);
snprintf(yt,820,"/TYTD/Videos/%s/%s.mp4",playlist,video);
return yt;
}
char* ThumbnailFileName(char* filename){
char *yt = malloc(sizeof(char) *530);
snprintf(yt,530,"/TYTD/Thumbnails/%s.jpg",filename);
return yt;
}
int ThumbnailExists(char* filename){
char yt[530];
snprintf(yt,530,"/TYTD/Thumbnails/%s.jpg",filename);
struct stat buffer;
return (stat(yt,&buffer)==0);
}
char* ThumbnailURL(char* id){
char *yt = malloc(sizeof(char) *530);
sprintf(yt,"https://img.youtube.com/vi/%s/hqdefault.jpg",id);
return yt;
}
int CreateFolders(){
mkdir("/TYTD",0777); //Downloader
mkdir("/TYTD/Thumbnails",0777); //Thumbnails
mkdir("/TYTD/Downloads",0777); //Downloads
mkdir("/TYTD/Videos",0777); //Videos
mkdir("/TYTD/PLTXT",0777); //create dir for playlist text files
return 0;
}
char* Temp(){
char *yt = malloc(sizeof(char)*530);
snprintf(yt,530,"/TYTD/~TMP");
return yt;
}
void DeleteTemp(){
unlink("/TYTD/~TMP");
}