Sean Meighan
Welcome => Do You Need Help? Post it here => Topic started by: RobertB on October 02, 2015, 06:59:40 PM
-
Been working a couple of days on a sequence with lyrics. I have been saving religiously. I had to reboot my computer because my browser had crapped out it's connection. Had xlights in the background and worked on it everyone so often while I was at work. After rebooting the computer and opening up xlights, now it seems that the lyrics breakdowns of the words and syllables are gone. PLEASE someone tell how to get back where I was. There is no way that save button doesn't work. Program seemed to have saved each time.
-
I use F10 every 15 mins.
-
Open your sequencer xml and see if they are there. If they are there , then they can be recovered.
There was an issue about someone using the wrong timing mark ie not the "lyrics" one and then the same thing happened when it was re-opened.
Edit: I think the previous issue was that when the timing was created , it was not blank e.g. it was 50ms. Whilst these enabled the voices to be built, the re-open checked that it was 50ms and did not bring in the voices.
I think Gil worked his magic on the file..
-
So here is the skinny on my sequence;
I had completely finished the sequence. In working on it, I would click on the save every few minutes. The program was open when I got home from work (was on my laptop). I always have two browsers open. (one for work, one for pleasure :-) Sometimes Firefox would slow down or just about stop working, so I just reboot which always fixes things. So many things open, I just reboot and let everything force close. Open the browers back up and any other programs... and it everything is fine.
The sequence should have come back up since it had been saved. Have I closed xlights and reopened that sequence since I had been working it? No.
The sequence is in the folder where I left it. Ironically the word breakdown and the syllable breakdown is the only thing missing. I can't double click on the Lyric timing marks to get it to open. It has laid down 50ms timing marks, which I did not put in. Think I may have had mine on 25ms...think. Started the sequence with that, but did not mark those and the breakdowns take those away anyway.
Funny thing is that some effects I put into the tree is still there. (which was ONLY two effects where words were missing) So the only thing missing is the breakdown.
Now... with this I have NO clue what I am doing. Not even sure if this tells you guys anything. I opened up Dreamweaver and copied this from the file;
</EffectDB>
<DataLayers>
<DataLayer lor_params="6226032" channel_offset="0" num_channels="0" num_frames="0" data="<rendered: erase-mode>" source="<auto-generated>" name="Nutcracker"/>
</DataLayers>
<DisplayElements>
<Element collapsed="0" type="timing" name="Lyrics" visible="1" active="1" views=""/>
<Element collapsed="0" type="model" name="Mega Tree" visible="1" active="0"/>
</DisplayElements>
<ElementEffects>
<Element type="timing" name="Lyrics" fixed="25">
<EffectLayer/>
</Element>
Not sure if that tells you something or not.
So, I guess I will go work on hardware today instead of working on sequencing :-( Ideas?
-
When you say save, are you using file save or hitting the F10 key which creates backup files in your show directory?
-
If you scroll further down in your sequence XML file do you see an EffectLayer with your lyrics in it? Mine looks like:
<EffectLayer>
<Effect label="Twas" startTime="5175" endTime="5375"></Effect>
<Effect label="a" startTime="5375" endTime="5575"></Effect>
<Effect label="long" startTime="5575" endTime="6150"></Effect>
<Effect label="time" startTime="6150" endTime="6650"></Effect>
<Effect label="ago" startTime="6650" endTime="7400"></Effect>
<Effect label="A" startTime="7400" endTime="7425"></Effect>
<Effect label="Longer" startTime="7500" endTime="8025"></Effect>
<Effect label="now" startTime="8025" endTime="8500"></Effect>
<Effect label="than" startTime="8500" endTime="8625"></Effect>
<Effect label="it" startTime="8625" endTime="8775"></Effect>
<Effect label="seems" startTime="8775" endTime="9625"></Effect>
</EffectLayer>
If so, I would duplicate your file and try deleting the fixed="25" part from the element type definition in the copy. I added that to a working sequence of mine and the lyrics disappeared, so perhaps the reverse will work for you.
-
When you say save, are you using file save or hitting the F10 key which creates backup files in your show directory?
I was using save. Didn't want to backup the whole directory each time. Was I wrong for doing that?
-
If you scroll further down in your sequence XML file do you see an EffectLayer with your lyrics in it? Mine looks like:
<EffectLayer>
<Effect label="Twas" startTime="5175" endTime="5375"></Effect>
<Effect label="a" startTime="5375" endTime="5575"></Effect>
<Effect label="long" startTime="5575" endTime="6150"></Effect>
<Effect label="time" startTime="6150" endTime="6650"></Effect>
<Effect label="ago" startTime="6650" endTime="7400"></Effect>
<Effect label="A" startTime="7400" endTime="7425"></Effect>
<Effect label="Longer" startTime="7500" endTime="8025"></Effect>
<Effect label="now" startTime="8025" endTime="8500"></Effect>
<Effect label="than" startTime="8500" endTime="8625"></Effect>
<Effect label="it" startTime="8625" endTime="8775"></Effect>
<Effect label="seems" startTime="8775" endTime="9625"></Effect>
</EffectLayer>
If so, I would duplicate your file and try deleting the fixed="25" part from the element type definition in the copy. I added that to a working sequence of mine and the lyrics disappeared, so perhaps the reverse will work for you.
Ok. To understand you correctly, I would just delete;
fixed ="25"
Leave in the > . Is that correct?
I am going to include the file that I was working on. I also found for some reason the fseq in a different directory. I had upgraded LOR to S4 and changed directories. My xlights was in LAST YEARS directory. I believe I tried to save THIS xlights file into a new directory. However the Shake It Off.xml was only in the old directory.
Help! I really don't have time to go back and redo this thing :-( Back to soldering jumpers for my window frames :-)
-
<Element type="timing" name="Lyrics" fixed="25">
becomes
<Element type="timing" name="Lyrics">
No guarantees, but worth a shot. I'll look at your file, but I'm not XML wiz.
-
Ok.
Got this;
XML parsing error: 'not well-formed (invalid token)' at line 39
That would be at THAT line.
-
Never mind, the lyrics are not in there. Sorry.
-
Sooooooo
That means it's not recoverable???? :-(
-
That's right, unless you have a backup copy somewhere. This XML has lost all phrase, word and phoneme info.
I know this doesn't help you but I wanted to confirm what seems to have happened, so I recreated these steps. I started with a sequence with a properly functioning singing face. I changed the xml so that the timing track had a "fixed" timing definition, opened the file in xLights and re-saved it. The phrase, word and phoneme labels were all lost upon re-saving with the "fixed" definition. I have no idea how that track might have been redefined, but perhaps this will give the programmers a leg-up in finding it.
Really sorry I couldn't have been more help in your case, though.
-
I guess you didn't have any F10 backups?
-
Wow. Ok. Very sad :'(
For the programmers. I do remember restarting this file a bunch of times. I couldn't click in between marks and had used 100ms. Gill said he had only used or I should be using 25ms. I think I deleted the stuff in the sequence and went back to adding a timing mark in. Then went about the right steps to do the Lyrics. I think it took that time. But again had not closed the program. This time I am going to work a little, save the file, close the program or file, open it back up and go from there. Lost 2 days of programming. Limited time, so... still sad. Guess it will go faster since I know what I am doing now... kind of ;-)
Thanks for your help.
Nope. No F10 backups. Will be doing that though!
-
F10 backup is very fast and does not create huge files so it is a good practice to do it often.
-
One of the [many] reasons I use Dropbox [for everything]. Every time I hit save things are backed up. If I ever want to go back to a previous version, I just restore to that one.
-
I use Dropbox to a certain extent. Before I started using a couple of e682's I did all the time. Then I started using a thumb drive. Looks like while I am working on sequences, I will go back and put them in Dropbox. Didn't realize it uses versions. Have had to do that with some of my school Google Drive stuff and works great when you screw up ;-)
-
Google drive also works. With DB, you can go online & restore back to a previous version. The history keeps for 30 days
-
Yep, my show folders are always on Dropbox. That way I can easily switch from my Mac to my PC and never have to shuttle files. Nice. But you still need to f10 frequently, too.
-
In this case F10 backup would not have helped. We had someone else make this same mistake but I don't think anyone entered it on GitHub so we never added code to block you from doing what you did. Fixed timing tracks that show you the 25ms, 50ms, and 100ms lines were NEVER supposed to be edited. When I created them it never occurred to me to block you from editing them. So even though you were doing a Save it wasn't saving a darn thing for that Lyrics timing track because that is the way we save file space for fixed timing tracks. Instead of having thousands of lines in the XML for every 25ms we use one line that says draw one every 25ms. So now you have a 25ms timing track called Lyrics.
There also seems to be a basic misunderstanding when I told you to use 25ms that wasn't for the timing track. When you create a new sequence you have to choose the smallest duration of the sequence and you told me you had chosen 100ms so I said you probably want 25ms instead otherwise you will never be able to create effects with 25ms intervals. If you were able to create a 25ms timing track then you already had a 25ms sequence in which case you should have been able to place effects with that resolution but you told me you were limited to 100ms.
The bottom line is those phrases, words, and phonemes only existed as long as you didn't close the sequence they were never being saved in the file. Did you really leave the program open that long? That's really a bad idea also. The Undo buffer alone is a reason to be closing the program a least once a day otherwise its constantly chewing up memory.
The solution to prevent this will be I need to block anyone from altering a fixed timing track. If you followed the videos from Dan or I you wouldn't have run into this.
-
Where are all your videos at?
Sent from my LG-H811 using Tapatalk
-
The bottom line is those phrases, words, and phonemes only existed as long as you didn't close the sequence they were never being saved in the file. Did you really leave the program open that long? That's really a bad idea also. The Undo buffer alone is a reason to be closing the program a least once a day otherwise its constantly chewing up memory.
The solution to prevent this will be I need to block anyone from altering a fixed timing track. If you followed the videos from Dan or I you wouldn't have run into this.
Wait, wait.....
I did save and save and save...and save. That is why I don't understand where it went. Yes. I leave stuff open for days if not weeks. Guess am used to LOR where it takes a few minutes sometimes to load. I literally (in between classes.... I teach) will fix something as the kids come in. I close the laptop, take it to my office and during lunch work on it some more. Close the laptop, take it back out into the bandroom when I finish lunch / planning. Close the laptop, bring it home, work some more. Does that routine cause issues with the program? I sometimes like to just leave it open at a place in the sequence just to remember where I am at.
Github? Forgive my ignorance . What is that? If it is where to post glitches, I have one but will have to recreate it.
Soldering some connectors now. After I get through with those, going to sequence again. These pointers are helpful.
-
So you still don't understand what I said? You used a Fixed timing track. You know the one that had a timing line every so many milliseconds. When you hit save our code says oh it's a fixed timing track I don't need to save any of the timings for this track. It's our fault for not realizing people would try to use those tracks for something they weren't meant for. You just made the magnitude of the problem really bad because you like to work for days if not weeks without closing the program so that allowed you to lose a ton of work. But the main reason I don't recommend leaving the program open is because every operation you do is stored in the Undo buffers so you can undo them. I don't limit how far you can go backwards which means if you run for weeks you are chewing up more and more and more available memory in your machine. At some point you will run out of memory and then crash.
-
Gill,
My reasoning for I guess picking a "Fixed Timing Track" I didn't really realize that you could go WITHOUT a fixed timing track. Guess with the choices that came up my brain was thinking it was one or the other. Sorry. Makes sense what you said on the buffer too. (and why my machine slowed down so far when using other programs on the computer)
You've been a big help and really appreciate you having so much patience with me ;D
-
I checked in the change to prevent this from happening again so it will be in next release. Sorry you lost so much work but you did pave the way for others to avoid this issue. It ended up being easiest to just allow you to convert a fixed track to a papagayo timing track instead of trying to prevent it. I just remove the fixed attribute. Only took one line of code to fix it that way and probably avoids confusion and effort explaining why some tracks can be converted and some can't.
Actually timing tracks are completely optional. You don't need one to drop effects. There is nothing anywhere that has the word "Fixed" associated with timing tracks except in the xml file. But those are the ones you get when you add a new timing and select 25ms, 50ms, or 100ms. It gives you a timing track with fixed intervals. Since the intervals are fixed we don't try to save every one of them because it would slow down the saving and loading of the sequence to add those several thousand lines. Other types are timings you can add are either empty where you can add your own timing marks wherever you like, timings created from importing a text file usually exported from audacity, timing tracks created by importing from a LOR file, and timing tracks created from the queen mary plugins like bars and beats. You can edit all of them and move the timing marks around except for the fixed timing tracks.
-
Gil, I just wanted to make sure the changes you made would convert the fixed timing track to a Papagayo track if someone manually adds lyrics (i.e. breaks down a "label") or does a right-click Import Lyrics. I think Robert did the latter.
-
Robert,
Am not sure if already covered above, but when you create a new timing track and you have to then select the time eg 50ms or type e.g bars , you need to select Empty.
Then rename the empty to a name such as lyrics.
Gil, re the new fix , if a user had selected something other than empty , at what stage does the option to convert it come up ? Accordingly I will try that (to add to manual).
-
Good Deal Gerry.
Was going to put up window frames today. However, here in GA... it is a little wet (under exaggeration ;-). Will be sequencing in just a few minutes. Good timing :-)
-
Robert,
Am not sure if already covered above, but when you create a new timing track and you have to then select the time eg 50ms or type e.g bars , you need to select Empty.
Then rename the empty to a name such as lyrics.
Gil, re the new fix , if a user had selected something other than empty , at what stage does the option to convert it come up ? Accordingly I will try that (to add to manual).
When the user executes the "Import Lyrics" operation it removes the Fixed attribute.
-
Gil, will it also remove the fixed attribute if someone labels an interval on a fixed timing track and the does "Breakdown Phrase"? Just didn't know if you knew there were two ways to get into Robert's bind. Thanks for all you do, sir.
-
I think this is a bug. Maybe....
I have all my stuff in my 2014 Sequence directory from last year. That is where the program defaulted to. I didn't change my show directory, but tried to save the sequence to another folder. My 2015 folder. Tried saving it, and it showed "Saved". When I went and looked in the directory for the file (2015) it was not there. However, it showed up where my 2014 Show Directory was. I closed out the sequence and did save what I had worked on, in the 2014 directory.
This may have been where my downfall was.
-
Gil, will it also remove the fixed attribute if someone labels an interval on a fixed timing track and the does "Breakdown Phrase"? Just didn't know if you knew there were two ways to get into Robert's bind. Thanks for all you do, sir.
Good call...I hadn't thought about anyone manually typing in their phrases or importing from a different source so I added code to fix that situation also.
-
I think this is a bug. Maybe....
I have all my stuff in my 2014 Sequence directory from last year. That is where the program defaulted to. I didn't change my show directory, but tried to save the sequence to another folder. My 2015 folder. Tried saving it, and it showed "Saved". When I went and looked in the directory for the file (2015) it was not there. However, it showed up where my 2014 Show Directory was. I closed out the sequence and did save what I had worked on, in the 2014 directory.
This may have been where my downfall was.
And you were right also. The SaveAs was only saving the FSEQ file in the new directory the XML was staying in the old directory. Surprised nobody caught that before now. Checked in a fix for this also. Thanks.
I see why it happened it one thing in wxWidgets that frustrated me. The wxFilename object has a GetFullPath() routine but it doesn't have a SetFullPath() routine so I had used SetFullName() which didn't set the path. So it takes one function to get the full path and two function calls to set the full path. That just seems like poor programming but we're stuck with it since it provides us the multiple OS capability.
-
I think that most people are conditioned to work in the show directory. At least I am ,and to be honest would not dare stray. I use the 'save as ' to give it a new name . After the save and after I hVe completed work on a seq , even if for the moment, I move it out in its entirety , then move the next lot in and work on that etc.
I aint about to go fiddling with saving things in different places, when who knows what is still in my show directory.
Just saying..... :) KISS.
-
Flyinverted submitted an issue ticket to allow SaveAs to choose other directories. It used to just ask for a name and put it in the show directory. If you look at his ticket you'll see the reason he wanted it. I don't remember off hand.
-
The reason for the request was workflow related. Secondarily because every other Windows application allows to save to a user chosen directory or at least display the directory contents within the save dialogue windows.
Gil, you did take care of my request under protest that users would find fault with it, you were right. Just remember "If there is no struggle there is no progress".
-
I don't think there was anything wrong with the request I just messed up the implementation. I was just surprised nobody noticed till now.
-
I did not notice the change , though there was a mention in the release notes - sometimes I try and guess what the change was from the short description. It also was about the same time when the Save As was added to the drop down File menu , so I think I assumed that it was referring to that.
I know that someone on another forum wanted the ability to be able to do a Save As of the FSEQ directly to the relevant PI/BBB FP folders (rather than two steps) - they must be the more advanced users.
I need to document this in the manual. I will try it out after the next release , but am guessing that with Save As , I can direct both the xml and fseq somewhere else , then if I click on Save it will save in my current Show directory - then I will wonder why something is not working :) :)