void plugin_seq_doit(Cast *cast, float facf0, float facf1, int sx, int sy, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *out, ImBuf *use) { float f1, f2, t1, t2, t3; int x, y, lr; /* fill imbuf 'out' with black */ fill_out(out, 0,0,0,0); switch (cast->type) { case 0: srand48(cast->seed); break; case 1: srand48(cast->seed + facf0 * 1000); break; } for (y = 0; y < sy; y++) { switch (cast->type) { case 0: if ((y & 1) == 0) { f1 = drand48() - 0.5; f2 = drand48() - 0.5; f1 = cast->swing * f1; f2 = cast->swing * f2; if (cast->wrap) f2 += 1.0; lr = drand48()>0.5; t1 = facf0; } else t1 = facf1; t2 = 1.0 - t1; t3 = 3.0 * (f1 * t1 * t1 * t2 + f2 * t1 * t2 * t2); if (cast->wrap) t3 += t2 * t2 * t2; x = sx * t3; if (lr) x = -x; break; case 1: f1 = drand48() - 0.5; f1 = f1 * cast->swing; if ((y & 1) == 0) f1 *= facf0; else f1 *= facf1; x = f1 * sx; break; } rectcpy(out, ibuf1, 0, y, x, y, 32767, 1); if (cast->wrap) { rectcpy(out, ibuf1, 0, y, x + sx, y, 32767, 1); rectcpy(out, ibuf1, 0, y, x + sx + sx, y, 32767, 1); rectcpy(out, ibuf1, 0, y, x - sx, y, 32767, 1); rectcpy(out, ibuf1, 0, y, x - sx - sx, y, 32767, 1); } } }
std::list<song> playlist_load(std::string sFilename) { std::list<song> ret; if(sFilename.find(".m3u", sFilename.size() - 4) != std::string::npos || sFilename.find(".m3u8", sFilename.size() - 5) != std::string::npos) ret = fill_out(playlist_load_M3U(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".asx", sFilename.size() - 4) != std::string::npos) ret = fill_out(playlist_load_ASX(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".pls", sFilename.size() - 4) != std::string::npos) ret = fill_out(playlist_load_PLS(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".wpl", sFilename.size() - 4) != std::string::npos) ret = fill_out(playlist_load_WPL(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".xspf", sFilename.size() - 5) != std::string::npos) ret = fill_out(playlist_load_XSPF(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".xml", sFilename.size() - 4) != std::string::npos) ret = fill_out(playlist_load_iTunes(sFilename), ttvfs::StripLastPath(sFilename)); else if(sFilename.find(".kiss", sFilename.size() - 5) != std::string::npos) ret = convert_to_global(playlist_load_kissme(sFilename), ttvfs::StripLastPath(sFilename)); else std::cout << "Playlist file format " << sFilename.substr(sFilename.size() - 3) << " unsupported." << std::endl; return ret; }