Jump to content
Light-O-Rama Forums

RFE Batch Configuration Import


jstorms

Recommended Posts

I need a LOR hero to write a simple program.

So each year I come up with a new channel configuration. Then I go through lms file by lms file and import the new configuration. Then at some point (usually a few times) I'll change it and then go through and repeat the process again for 70+ sequences. Each pass takes an hour of mind-numbing mouse clicking.

It would be a huge time saver, and a huge value to me to be able to apply the exported config file (.lcc) to multiple .las and .lms files at the same time.

Bob has a solution out there, but for some reason hasn't worked for me.

waiting.jpg

Link to comment
Share on other sites

IOM has no way to know if the import has finished because SE does not expose this information.  The hack in place is to monitor the CPU activity.  When it goes down to almost nothing, IOM will go to the next step. 

I think you have something on your PC which is running and using CPU so IOM does not detect the lack of activity.   I would really need to see what its doing to make a proper fix.

But .. I will release a new version of IOM for you to try which allows you to set the CPU no activity level.   

 

I suppose its also possible that something is stealing the focus from IOM which will blow the whole thing.  Please try it with all of your other programs turned off.    Maybe you can watch your task manager for programs which are activating.

 

Link to comment
Share on other sites

I have used this the last 2 year and what a life saver it was. Start it when I go to bed and in the morning I have my 80 to 100 sequences all converted with my new channel config. Bob's tools are wonderful.

Seems like I did have a virus program that would run at night and lose the focus from it.

Link to comment
Share on other sites

Sorry  John    I am unable to make the change which I presumed would work.    

The microsoft provided call detects idle on its own without the ability to select a value for it.   

My next most likely guess is the program is losing focus or the PC is going to sleep.

 

Idle.jpg

 

Link to comment
Share on other sites

John, I cant imagine why this doesnt work for you. I have run it on multiple computers, multiple times. LOR just cant lose focus. My log file is attached. Took 6 hours to convert my sequences. If I would have done that manually, well I just dont want to think about it.

IOM_20151118_214408.log

Link to comment
Share on other sites

  • 1 month later...

I'm surprised LOR does not provide a simple tool to allow people to do this. 

Seems all that is happening is that the config file is loaded up, then they go through the channel table and replace the channel definition of each element. I'm just not sure if the order is the sequential order of the imported config file, or the savedindex numbers of the imported config file. The other thing I'm not sure about is if all channel groups are blown away and if so how they are replaced.

Edited by jstorms
Link to comment
Share on other sites

When I start Bob's tool I get a nasty error then the program starts and I get the GUI. (the long error below)

So I pretend I didn't see anything and try it anyway. I set the in and out directories and the config file. Then when it goes to run I get an error window titled "waituntilnoaction" that has "Object reference not set to an instance of the object."

 

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ImportOmation.main.main_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ImportOmation
    Assembly Version: 1.1.6.0
    Win32 Version: 1.1.6.0
    CodeBase: file:///C:/Users/John/Downloads/ImportOmation%20(2).exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 12.0.20806.33440 built by: FX45W81RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34239 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34250 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.36337 built by: FX452RTMLDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34243 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34281 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


 

Link to comment
Share on other sites

Okay, working up the nerve to attempt a script to apply a new config file to an existing lms/las. Just thinking out loud I think it would go like this.

So looks like I would load up the lcc and use it as a template.

I would then pull the first track from the lcc as the master. The savedIndex numbers here define the order.
then I pull the first track from the lms and map them one for one to the one I got from the LCC. This is my mapping.
Then going through the lms file I would update the information in each channel with the information in the lcc channel table using the savedIndex's from my mapping to get me from one to the other. Effects, etc would all stay the same.
At the end of the channels I would add any new channels from the lcc that weren't there. Likewise if there were fewer channels in the lcc than before I would not bring over those old/deleted channels.

Not real sure about the channelgroupings, but my thinking would be to just clobber what was in the lms for what was in the lcc, swapping the savedIndexs based on my map. Ditto for the tracks and animation tables.

Easy Peazy :P

 

Link to comment
Share on other sites

I think the first time you run the program you get an error because of the default path. Once you set it up you wont get any errors.

Link to comment
Share on other sites

Per Bob's website.

NOTICE: Effective 2-18-2013 and going forward, this software will require
Microsoft .NET Framework 4 Client Profile to run. DL free
here
Software will work for Vista|Win7&8.   Some may not work with earlier versions of Windows.

 

Not sure if you have that installed or not.

Link to comment
Share on other sites

20 minutes ago, dougd said:

Per Bob's website.

NOTICE: Effective 2-18-2013 and going forward, this software will require
Microsoft .NET Framework 4 Client Profile to run. DL free
here
Software will work for Vista|Win7&8.   Some may not work with earlier versions of Windows.

 

Not sure if you have that installed or not.

Thanks I'll try it. I need to l'arn to read ;)

Edited by jstorms
Link to comment
Share on other sites

http://itsmebob.com/Christmas/beta/ImportOmation121.exe        Just for you John I built a new release of IOM,


 There is nothing special in waituntilnoaction.   But I see I had an old version of 'Sleep' which I fixed for you in this completely untested release.

  Private Sub waituntilnoaction(loopcnt As Int32)
        Dim proctime As Int64
        Dim w As Int32
        Try
            For w = 0 To loopcnt
                Do
                    Thread.Sleep(1000)
                    Application.DoEvents()
                    proctime = Math.Ceiling(id.TotalProcessorTime.Ticks)
                    If priorProcTime = proctime Then
                        Exit Do
                    Else
                        priorProcTime = proctime
                    End If
                Loop
            Next w
        Catch ex As Exception
            MessageBox.Show(ex.Message, "waituntilnoaction")
        End Try

    End Sub

 

Link to comment
Share on other sites

Verified that I have MS .NET installed.

Downloaded the new version of Bob's tool, Thanks again.

On startup I still get the unhandled exception from Microsoft .NET, ignoring that and attempting to convert files I still get the "Object reference not set to an instance of an object". It gives me one of those errors for each file.

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at ImportOmation.main.main_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ImportOmation
    Assembly Version: 1.2.1.0
    Win32 Version: 1.2.1.0
    CodeBase: file:///C:/Users/John/Downloads/ImportOmation121.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 12.0.20806.33440 built by: FX45W81RTMREL
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34239 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34250 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.36337 built by: FX452RTMLDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34243 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34281 built by: FX452RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

 

Link to comment
Share on other sites

Here is what I did. I created a folder on the c drive called importomation

I put the exe file in that folder

In that folder I created 2 folders, one called convert and one called converted.

I copied the lms files and the channel config file to the convert folder.

Start the program, you will get an error the first time.

Click on the box below  the convert folder and config file and browse to the convert folder and select it. it will then ask you where the config file is.

Click on the box below output sequence folder and browse to the converted folder.

Make sure change shell command box is unchecked.

Click start.

It worked fine for me on windows 10.

Link to comment
Share on other sites

Bob, hate to ask, but while you are looking at the program can you take a look at the "change shell Command" option. Last time I tried to use that it gave an error. Object reference not set to an instance of an object.

Thanks.

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...