Talk:Shadow Files: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
<div style="border: 1px solid; background-color: #f2f2f2; padding: 5px;"><tt>
==Multi-level shadow-files==
<div style="border: 1px solid; background-color: #f2f2f2; padding: 5px;">
<div style="border: 1px solid gray; background-color: #f9f9f9;"><tt>
:<worf> arent subtitle files supposed to be a sub-file of the actual video files?<br>
:<worf> arent subtitle files supposed to be a sub-file of the actual video files?<br>
:<worf> rather than being on the same level as them<br>
:<worf> rather than being on the same level as them<br>
Line 12: Line 14:
:<nowiki>[...]</nowiki><br>
:<nowiki>[...]</nowiki><br>
:<pelican> So basically... yes, you can restrict shadow files to files which need them, but it's probably going to be less efficient and it's certainly more code<br>
:<pelican> So basically... yes, you can restrict shadow files to files which need them, but it's probably going to be less efficient and it's certainly more code<br>
</tt>
</tt></div>


I did a little thinking on this, and I think worf's suggestion holds merit. Consider the following scenario: Two split-episode files are raw, and they have subs. Currently this would look like this:
I did a little thinking on this, and I think worf's suggestion holds merit. Consider the following scenario: Two split-episode files are raw, and they have subs. Currently this would look like this:
Line 43: Line 45:


As you can see, this would require that every file be able to have files under it and be assigned to however many other files is necessary.
As you can see, this would require that every file be able to have files under it and be assigned to however many other files is necessary.
:<tt><pelican> A further consideration: subtitles must be available even if no other file for the episode or episodes they represent is</tt>
<div style="border: 1px solid gray; background-color: #f9f9f9;"><tt>
:<pelican> A further consideration: subtitles must be available even if no other file for the episode or episodes they represent is
</tt></div>
This would take care of this concern that pelican had. Atleast in my opinion. He did have a rather different approach to the problem than what is described here, and as I don't understand it fully, I can only hope that he will describe it properly himself.
This would take care of this concern that pelican had. Atleast in my opinion. He did have a rather different approach to the problem than what is described here, and as I don't understand it fully, I can only hope that he will describe it properly himself.


Line 53: Line 57:
:<small>hope this is actually helpful to some ppl, so I'm not just blowing off steam on a non-issue >_<</small> ... I do feel that this needs a more proper going through, if exp agrees or not, I have no clue. It also seems unclear (atleast to me) whether exp has decided on an actual design when it comes to shadow-files or if that is still up for discussion; there seems to be a few people who still has something to say about that, but atleast PetriW did seem to [http://www.anidb.net/forum/viewtopic.php?p=7294#7294 describe] the first of the shadow-files versions described here.
:<small>hope this is actually helpful to some ppl, so I'm not just blowing off steam on a non-issue >_<</small> ... I do feel that this needs a more proper going through, if exp agrees or not, I have no clue. It also seems unclear (atleast to me) whether exp has decided on an actual design when it comes to shadow-files or if that is still up for discussion; there seems to be a few people who still has something to say about that, but atleast PetriW did seem to [http://www.anidb.net/forum/viewtopic.php?p=7294#7294 describe] the first of the shadow-files versions described here.
<div style="text-align: right;">--[[User:Suppy|Suppy]] 02:20, 18 February 2006 (CET)</div>
<div style="text-align: right;">--[[User:Suppy|Suppy]] 02:20, 18 February 2006 (CET)</div>
==Grouped shadow-files==
<div style="border: 1px solid; background-color: #f2f2ff; padding: 5px;">
pelican later came with a rather different suggestion...<br>
<small>paraphrased...</small>
<div style="border: 1px solid gray; background-color: #f9f9f9;"><tt>
:<pelican> The problem with subtitle association isn't the db structure (I could draw it in a minute if, um... if I could be bothered), it's the interface
:<pelican> Things are already complicated by having shadow files which may represent multiple episodes
:<pelican> A further consideration: subtitles must be available even if no other file for the episode or episodes they represent is
:<pelican> They cannot be dependent
:<pelican> Have fun.
:<pelican> Oh, and even if exp implements shadow files (unlikely), subtitle association on top of that is probably more work than he's up for
:<pelican> In case you're interested, the best structure is probably to have episode collections, which uniquely represent sets of episodes that shadow files use, put another layer on top of that representing same timing of an episode set and have subtitles act the same as normal files; you can group shadow files under one timing group with a mod change or (since this is an imaginary anidb without the restrictions of the current) creq
:<pelican> ...hope that line wasn't too long for the server
:<pelican> All shadow files are then associated with a timing group
:<pelican> The structure is (episode)>-<(episode set)-<(timed episode set)-<(shadow file)-<(file)
:<pelican> Where >-< is many-many, -< one-many, and - would be one-one if I used it
:<pelican> Current structure is (episode)-<(file)
:<pelican> The episode sets are really just to allow us to quickly find timed episode sets of the same episodes
:<pelican> This structure would require 6 tables, since many to many relationships need a relation table
<nowiki>[...]</nowiki>
:<pelican> Ah, but shadow files group files together which are components of one shadow file; subtitles aren't components of another file, they're peripheral
:<pelican> Having sub files under a/v is just wrong
:<hrm> they're peripheral yes. but they're peripherals _to_ something. just like your mouse is a peripheral to your computer... you wouldn't go out and buy a mouse without either already having a computer or buying a computer at the same time.
:<pelican> They're peripheral to the episodes
:<pelican> Not to the files
:<hrm> they are peripheral to the episodes, yes. but they are _also_ peripheral to the files.
:<pelican> Read my suggested relations and you should see
:<pelican> No, they are parallel to the files
:<pelican> Files which represent the same group of episodes timed the same are interchangeable and can be used together where appropriate
:<pelican> As with subtitles and a/v
:<hrm> well, I didn't really get the whole thing with timed groups exactly. I would ask for more elaboration but I'm in the middle of watching a movie.
:<pelican> It's just a set for which all (shadow) files would run in sync
:<pelican> And thus in which you can apply sub files to a/v
:<hrm> if you can explain to me how that would be done for something like this: [http://xs68.xs.to/pics/06076/worf-shadow-subs-split-subandidx.png <nowiki>http://xs68.xs.to/pics/06076/worf-shadow-subs-split-subandidx.png</nowiki>] I'd appreciate it. that is supposed to be a 2cd release of a movie with accompanying .sub & .idx subtitle files.
:<pelican> The .sub and .idx form a shadow file
:<pelican> That shadow file is in the same timing group as raws whose timing it matches
:<hrm> ah, I see. the way that would be handled in my system is that the .sub and .idx shadowfile would also be added to every other raw whose timing they match, as well as directly to the episode. .... it's just that for simplicity's sake, I only illustrated a single chain
:<pelican> Best to only have one thing in one place
:<pelican> And this automates association of them with other raws with the same timing
:<hrm> yeah, that is a good point
</tt></div>
In case you didn't exactly get all of that (it took a while before I did too ^^ (I'm still not sure I do ;D)), I'll do my best to illustrate it in a good way here ... Let's begin with the standard One file for One episode example, to get us started:<br>
<div style="width: auto; overflow: hidden;"><div style="border:1px solid #cccccc; padding: 3px; background-color:#f9f9f9; width: 551px;">http://xs69.xs.to/pics/06082/groups-normal.png</div></div>
Now... in case you don't understand why all the fuss is necessary here (I mean: what group - it's just one single file! just one single episode!) .. it's because of uniformity, so different code isn't needed for different cases ... besides, those layers would be all but invisible to the actual user. You'll see why they're actually needed in the next couple of examples.
Let's begin with the multi-episode file example:
<div style="width: auto; overflow: hidden;"><div style="border:1px solid #cccccc; padding: 3px; background-color:#f9f9f9; width: 549px;">http://xs69.xs.to/pics/06082/groups-multi.png</div></div>
This should show you why the episode group is needed. Now let's move on to the timed group, which has more examples as to why it is needed.
Split-episode files:
<div style="width: auto; overflow: hidden;"><div style="border:1px solid #cccccc; padding: 3px; background-color:#f9f9f9; width: 570px;">http://xs69.xs.to/pics/06082/groups-split.png</div></div>
I am not certain here whether the division should take place between (as I've illustrated) shadow-file and file, or if it should be between timed group and shadow-file. I'll haveto ask pelican to explain that more thoroughly. I believe I have guessed wrong here, but it was the way I did it, and it's too much of a bother to fix it now ;). If pelican says I'm wrong I'll do it however.
Moving on to the separate subs ...
We'll begin with the basic ''Separate subtitles for one episode'' example:
<div style="width: auto; overflow: hidden;"><div style="border:1px solid #cccccc; padding: 3px; background-color:#f9f9f9; width: 654px;">http://xs69.xs.to/pics/06082/groups-subs-normal.png</div></div>
Here you can have any number of raw files and subtitle files, as long as they're timed "for eachother".
There is one problem that I haven't been able to figure out how to solve with this method, and that is: '''How to fix the "many subs in one file" problem.''' I asked pelican about it:<br>
<small>paraphrased (boldness added for focusing your eyes)</small>
<div style="border: 1px solid gray; background-color: #f9f9f9;"><tt>
:<hrm> hmm, with your episode sets and timed episode sets - how do you solve the "many subs in one file" problem illustrated here: http://wiki.anidb.info/w/Image:Current-subs-manysubsinone.png
:<hrm> I'm trying to illustrate the example of having a rar or zip file that contains many subs for more than one episode
[...]
:<pelican> '''It doesn't deal with it; you can't expect shadow files to fix everything'''
:<pelican> There is another structure that could work
:<pelican> Move the timed structure to individual episodes
:<pelican> However, this means that a single subtitles file which covers multiple episodes won't necessarily be timed correctly and it introduces further complications
:<hrm> darn, that's what I feared you would say =/
:<pelican> Your original idea of associating files and subtitles doesn't have this problem of course, but it's a fucking mess
:<pelican> I wouldn't let it into any db I'd written
:<pelican> (exp might, but he's never going to write any of this so that's not an issue)
</tt></div>
"<tt>you can't expect shadow files to fix everything</tt>" - darn, I was hoping it would =/
</div>
:This way of doing things doesn't solve ''everything'', however it is a much cleaner way of fixing the shadow-files, and it solves most of the problems we currently have. A very viable option.
<div style="text-align: right;">--[[User:Suppy|Suppy]] 10:46, 21 February 2006 (CET)</div>
415

edits

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.