Limit break of my CCD ???!!!

I've used PCI-1409 IMAQ card,Sony XC-75 CCD(RS-170) and 5411 function generate card to build up my image acquire system.When I trigger the IMAQ card,at the same time,5411 send a waveform to the sample which I want to observe.I download the "IMAQ AVI read write example" from NI website and modify it to fit my need.
Because my experiment is time-critical,so I record the time when each loop performed in the avi acquisition part.I define the time when i=0 performed is "T0",i=1 is "T1",and so forth.By the result of my program ,T1=114 ms,T2=118 ms,T3=136 ms,T4=169 ms,T5=202 ms. What a weird result ?! The highest frame rate of my CCD is 30fps.Time interval between T0 and T1 is too long(114ms),and between T1 and T2 is too short(only 4 ms !! ) Tim
e interval between T2 and T3 is not normal(18ms),too. after T3,the time interval between each frame is 33ms,on coincidence to 30fps.I don't know where the problem is. Is the first delay between Frame 0 and Frame 1(114ms) caused by the initiation of 5411 ?? And I can't explain the "4ms" between Frame 1 and Frame 2 .Thanks for any help.
Attachments:
realtimegrab.vi ‏109 KB

In your program, you are timing the loop, not the acquisition. The timer value is probably read at the start of each loop (never can be sure with parallel processes). The acquisition takes a few loops before it synchronizes with the timer value.
If you want to time your acquisition more accurately, put the timer read in a sequence with the acquisition. Immediately after completing the acquisition, the timer will be read.
Another option would require counter-timers, so the timing could be done completely in hardware and would be more accurate.
Even accounting for the timing irregularities, it looks like you may be missing the first frame. I would probably set up a continuous buffer instead of using grab to make sure no frames are missed.
Bruce
Bruce Ammons
Ammons Engineering

Similar Messages

  • Cannot delete file ...bug?

    This appears like a bug to me...see if you agree.
    A file opened for read-only access and memory mapped using the map method of FileChannel cannot be deleted even when the channel is closed. An example of this is the simple Grep.java example from NIO modified only to try and delete the file. On Win2K, the delete fails. Once the channel is closed, it should be able to delete the file. Is this a bug?
    import java.io.*;
    import java.nio.*;
    import java.nio.channels.*;
    import java.nio.charset.*;
    import java.util.regex.*; public class Grep {     // Charset and decoder for ISO-8859-15
    private static Charset charset = Charset.forName("ISO-8859-15");
    private static CharsetDecoder decoder = charset.newDecoder(); // Pattern used to parse lines
    private static Pattern linePattern
    = Pattern.compile(".*\r?\n"); // The input pattern that we're looking for
    private static Pattern pattern; // Compile the pattern from the command line
    private static void compile(String pat) {
    try {
    pattern = Pattern.compile(pat);
    } catch (PatternSyntaxException x) {
    System.err.println(x.getMessage());
    System.exit(1);
    } // Use the linePattern to break the given CharBuffer into lines, applying
    // the input pattern to each line to see if we have a match
    private static void grep(File f, CharBuffer cb) {
    Matcher lm = linePattern.matcher(cb);// Line matcher
    Matcher pm = null;// Pattern matcher
    int lines = 0;
    while (lm.find()) {
    lines++;
    CharSequence cs = lm.group(); // The current line
    if (pm == null)
    pm = pattern.matcher(cs);
    else
    pm.reset(cs);
    if (pm.find())
    System.out.print(f + ":" + lines + ":" + cs);
    if (lm.end() == cb.limit())
    break;
    } // Search for occurrences of the input pattern in the given file
    private static void grep(File f) throws IOException { // Open the file and then get a channel from the stream
    FileInputStream fis = new FileInputStream(f);
    FileChannel fc = fis.getChannel(); // Get the file's size and then map it into memory
    int sz = (int)fc.size();
    MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, sz); // Decode the file into a char buffer
    CharBuffer cb = decoder.decode(bb); // Perform the search
    grep(f, cb); // Close the channel and the stream
    fc.close();
    // Try deleting the file =================================
    boolean deleted = f.delete();
    if (!(deleted)) {
    System.err.println("Could not delete file " + f.getName());
    System.exit(4);
    // End try deleting file =================================
    } public static void main(String[] args) {
    if (args.length < 2) {
    System.err.println("Usage: java Grep pattern file...");
    return;
    compile(args[0]);
    for (int i = 1; i < args.length; i++) {
    File f = new File(args);
    try {
    grep(f);
    } catch (IOException x) {
    System.err.println(f + ": " + x);

    Here is the minimal code that demonstrates this. It opens the file specified on the command line, maps it to memory, prints it out, and then tries to delete the file.
    There is no question about calling close on a File object. The close method is invoked on a stream or a channel. In the case of a channel, it should automatically close the stream. However, in this code I am closing the stream and the channel.
    import java.io.*;
    import java.nio.*;
    import java.nio.channels.*;
    import java.nio.charset.*;
    public class testFileDelete {
    public static void main(String[] args) {
              FileInputStream fis = null;
              if (args.length < 1) {
                   System.err.println("Usage: java testFileDelete <filename>");
                   System.exit(1);
              File f = new File(args[0]);
    try {
                   // Open the file
                   fis = new FileInputStream(f);
              } catch (FileNotFoundException ex) {
                   System.err.println("Error! " + ex.getMessage());
                   System.exit(2);
              try {
                   // Get a channel from the stream
                   FileChannel fc = fis.getChannel();
                   // Map the file into memory
                   MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, (int)fc.size());
                   // Do something interesting here. For this example, just print the
                   // contents of the file.
                   // Decode the file into a char buffer, so we can print the contents.
                   Charset cs = Charset.forName("8859_1");
                   CharsetDecoder cd = cs.newDecoder();
                   CharBuffer cb = cd.decode(bb);
                   // Now print it out to standard output
              System.out.print(cb);
                   // Close the channel and the stream
                   fc.close();
                   // Close the input stream even though closing the
                   // channel should do this
                   fis.close();
              } catch (IOException ex) {
                   System.err.println("Error! " + ex.getMessage());
                   System.exit(3);
              // Done processing file. Now delete it.
              boolean deleted = f.delete();
              if (!(deleted)) {
                   System.err.println("Could not delete file " + f.getName());
                   System.exit(2);

  • Resultset.next hangs waiting for socketread()

    Hi All,
    I am running an application which is trying to fetch a set of records using jdbc resultset but , sometimes, it hangs on the socketread and I am not sure what is the cause..Please help:
    Below is the piece of code and parameters are:
    start=1
    iBreakingLimit=30 when it hangs
    QueryTimeout=60 sec
    limit=60
    Hangs at:
    SocketInputStream.socketRead()
    OracleResultSet.close_or_fetch_from_next(boolean)
    ScrollableResultSet.next()
    dbStatement=dbConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                                          if(start>1)
                        rs.absolute(start-1);
                   int iBreakingLimit=0;
                   while (rs.next())
                        ++iBreakingLimit;
                        if(limit>0 && iBreakingLimit>limit)
                             break;
                                      }Edited by: Amer on Apr 15, 2009 7:49 AM
    Edited by: Amer on Apr 15, 2009 7:50 AM
    Edited by: Amer on Apr 15, 2009 7:50 AM
    Edited by: Amer on Apr 15, 2009 7:51 AM

    Hi Again,
    I wrote a sample class to test the connection and my select statement and I was able to reproduce it outside the application. This class has no update at all and it never returns (hangs at iteration number 7 for the first loop).... Another test (removing timeout set which I think it is not related) shows that it stops at Iteration 4 breaking limit 40 (so it is random).. Also, I tried with TRANSACTION_SERIALIZABLE and got same behavior . THIS does NOT happen with db2 driver using same sample.. Please help!!
    package com.udm.core.test;
    import java.sql.*;
    public class JDBCTest
         public static void main(String s[])
              JDBCTest t = new JDBCTest();
              try
                   for(int i=0;i<30;i++)
                        System.out.println("Call ="+i);
                        t.testme();
              catch(Exception e)
                   e.printStackTrace();
         public void testme() throws Exception
              String sUrl="jdbc:oracle:thin:";
              String sServer="xxxxxxxxxx";
              String sPort="xxxx";
              String sService="xxxxx";
              String sDriver = "oracle.jdbc.OracleDriver";
              String sUserName="xxxx";
              String sPassword="xxxxxx";
              String sSQL="select about 270 fields from table (pure select statement)";     
              Class<?> cDriverClass=Class.forName(sDriver);
              Driver dDriverObject=(java.sql.Driver)cDriverClass.newInstance();
              DriverManager.registerDriver (dDriverObject);
              String sServiceUrl=sUrl+"@"+sServer+":"+sPort+":"+sService;
              Connection dbConnection=DriverManager.getConnection (sServiceUrl,sUserName,sPassword);
              dbConnection.setAutoCommit(false);
              dbConnection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
              Statement dbStatement =dbConnection.createStatement();
              dbStatement.setQueryTimeout(60);
              ResultSet rs=dbStatement.executeQuery(sSQL);
              int iBreakingLimit=0;
              int limit=200;
              while (rs.next())
                   ++iBreakingLimit;
                   if(limit>0 && iBreakingLimit>limit)
                        break;
                   System.out.println("\tInside loop iBreakingLimit="+iBreakingLimit);
              rs.close();
              dbStatement.close();
    }Thread dump:
    Call =7
    Full thread dump Java HotSpot(TM) Client VM (1.5.0_16-b02 mixed mode):
    "OracleTimeoutPollingThread" daemon prio=10 tid=0x0ac89868 nid=0x1380 waiting on condition [0x0af0f000..0x0af0fbe8]
    at java.lang.Thread.sleep(Native Method)
    at oracle.jdbc.driver.OracleTimeoutPollingThread.run(OracleTimeoutPollingThread.java:158)
    "Low Memory Detector" daemon prio=6 tid=0x00a955e0 nid=0xeb4 runnable [0x00000000..0x00000000]
    "CompilerThread0" daemon prio=10 tid=0x00a942f8 nid=0xb30 waiting on condition [0x00000000..0x0abcfa48]
    "Signal Dispatcher" daemon prio=10 tid=0x00a93660 nid=0x172c waiting on condition [0x00000000..0x00000000]
    "Finalizer" daemon prio=8 tid=0x00a8a440 nid=0x12f0 in Object.wait() [0x0ab4f000..0x0ab4fa68]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x02fd5d00> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
    - locked <0x02fd5d00> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    "Reference Handler" daemon prio=10 tid=0x00a89008 nid=0xa58 in Object.wait() [0x0ab0f000..0x0ab0fae8]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x02fd5d88> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:474)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x02fd5d88> (a java.lang.ref.Reference$Lock)
    "main" prio=6 tid=0x00036af8 nid=0x1450 runnable [0x0007f000..0x0007fc3c]
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at oracle.net.ns.Packet.receive(Unknown Source)
    at oracle.net.ns.DataPacket.receive(Unknown Source)
    at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.jdbc.driver.T4CMAREngine.getNBytes(T4CMAREngine.java:1520)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalNBytes(T4CMAREngine.java:1490)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalBuffer(T4CMAREngine.java:2004)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalCLR(T4CMAREngine.java:1791)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalCLR(T4CMAREngine.java:1925)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalDALC(T4CMAREngine.java:2347)
    at oracle.jdbc.driver.T4C8TTIuds.unmarshal(T4C8TTIuds.java:134)
    at oracle.jdbc.driver.T4CTTIdcb.receiveCommon(T4CTTIdcb.java:154)
    at oracle.jdbc.driver.T4CTTIdcb.receive(T4CTTIdcb.java:114)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:703)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
    at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1272)
    - locked <0x02b2f5b0> (a oracle.jdbc.driver.T4CPreparedStatement)
    - locked <0x02b18e30> (a oracle.jdbc.driver.T4CConnection)
    at com.udm.core.test.JDBCTest.testme(JDBCTest.java:50)
    at com.udm.core.test.JDBCTest.main(JDBCTest.java:15)
    "VM Thread" prio=10 tid=0x00a86540 nid=0xfec runnable
    Edited by: Amer on Apr 17, 2009 6:45 AM
    Edited by: Amer on Apr 17, 2009 6:45 AM
    Edited by: Amer on Apr 17, 2009 6:47 AM
    Edited by: Amer on Apr 17, 2009 6:48 AM
    Edited by: Amer on Apr 17, 2009 6:58 AM
    Edited by: Amer on Apr 17, 2009 7:05 AM

  • Modify hard coded array to database pull

    Hello all,
    I'm new to the array stuff, and am having problems finding a tutorial or instructions on how to modify a hard coded array to something pulled from a database.  I can only find tutorials on how to do it hardcoded.  They keep saying it is possible, but never say how to do it.  The original tutorial that I'm trying to learn which brought up this question can be found at:  http://www.brandspankingnew.net/archive/2007/02/ajax_auto_suggest_v2.html
    So as an example, if I've got the database connection already established as:
       $con = mysql_connect("localhost", "root", "") or die('Could not connect to server');
       mysql_select_db("my_database", $con) or die('Could not connect to database');
    With fields as my_database_names, my_database_ratings, and my_database_images; how do I modify the below code to use the database information instead of using the hardcoded array?  Any suggestions (or letting me know of where a good tutorial is) would be appreciated.
    <?php
    note:
    this is just a static test version using a hard-coded countries array.
    normally you would be populating the array out of a database
    the returned xml has the following structure
    <results>
    <rs>foo</rs>
    <rs>bar</rs>
    </results>
    $aUsers = array(
      "Adams, Egbert",
      "Altman, Alisha",
      "Archibald, Janna",
      "Auman, Cody",
      "Bagley, Sheree",
      "Ballou, Wilmot",
      "Bard, Cassian",
      "Bash, Latanya",
      "Beail, May",
      "Black, Lux",
      "Bloise, India",
      "Blyant, Nora",
      "Bollinger, Carter",
      "Burns, Jaycob",
      "Carden, Preston",
      "Carter, Merrilyn",
      "Christner, Addie",
      "Churchill, Mirabelle",
      "Conkle, Erin",
      "Countryman, Abner",
      "Courtney, Edgar",
      "Cowher, Antony",
      "Craig, Charlie",
      "Cram, Zacharias",
      "Cressman, Ted",
      "Crissman, Annie",
      "Davis, Palmer",
      "Downing, Casimir",
      "Earl, Missie",
      "Eckert, Janele",
      "Eisenman, Briar",
      "Fitzgerald, Love",
      "Fleming, Sidney",
      "Fuchs, Bridger",
      "Fulton, Rosalynne",
      "Fye, Webster",
      "Geyer, Rylan",
      "Greene, Charis",
      "Greif, Jem",
      "Guest, Sarahjeanne",
      "Harper, Phyllida",
      "Hildyard, Erskine",
      "Hoenshell, Eulalia",
      "Isaman, Lalo",
      "James, Diamond",
      "Jenkins, Merrill",
      "Jube, Bennett",
      "Kava, Marianne",
      "Kern, Linda",
      "Klockman, Jenifer",
      "Lacon, Quincy",
      "Laurenzi, Leland",
      "Leichter, Jeane",
      "Leslie, Kerrie",
      "Lester, Noah",
      "Llora, Roxana",
      "Lombardi, Polly",
      "Lowstetter, Louisa",
      "Mays, Emery",
      "Mccullough, Bernadine",
      "Mckinnon, Kristie",
      "Meyers, Hector",
      "Monahan, Penelope",
      "Mull, Kaelea",
      "Newbiggin, Osmond",
      "Nickolson, Alfreda",
      "Pawle, Jacki",
      "Paynter, Nerissa",
      "Pinney, Wilkie",
      "Pratt, Ricky",
      "Putnam, Stephanie",
      "Ream, Terrence",
      "Rumbaugh, Noelle",
      "Ryals, Titania",
      "Saylor, Lenora",
      "Schofield, Denice",
      "Schuck, John",
      "Scott, Clover",
      "Smith, Estella",
      "Smothers, Matthew",
      "Stainforth, Maurene",
      "Stephenson, Phillipa",
      "Stewart, Hyram",
      "Stough, Gussie",
      "Strickland, Temple",
      "Sullivan, Gertie",
      "Swink, Stefanie",
      "Tavoularis, Terance",
      "Taylor, Kizzy",
      "Thigpen, Alwyn",
      "Treeby, Jim",
      "Trevithick, Jayme",
      "Waldron, Ashley",
      "Wheeler, Bysshe",
      "Whishaw, Dodie",
      "Whitehead, Jericho",
      "Wilks, Debby",
      "Wire, Tallulah",
      "Woodworth, Alexandria",
      "Zaun, Jillie"
    $aInfo = array(
      "Bedfordshire",
      "Buckinghamshire",
      "Cambridgeshire",
      "Cheshire",
      "Cornwall",
      "Cumbria",
      "Derbyshire",
      "Devon",
      "Dorset",
      "Durham",
      "East Sussex",
      "Essex",
      "Gloucestershire",
      "Hampshire",
      "Hertfordshire",
      "Kent",
      "Lancashire",
      "Leicestershire",
      "Lincolnshire",
      "Norfolk",
      "Northamptonshire",
      "Northumberland",
      "North Yorkshire",
      "Nottinghamshire",
      "Oxfordshire",
      "Shropshire",
      "Somerset",
      "Staffordshire",
      "Suffolk",
      "Surrey",
      "Warwickshire",
      "West Sussex",
      "Wiltshire",
      "Worcestershire",
      "Durham",
      "East Sussex",
      "Essex",
      "Gloucestershire",
      "Hampshire",
      "Hertfordshire",
      "Kent",
      "Lancashire",
      "Leicestershire",
      "Lincolnshire",
      "Norfolk",
      "Northamptonshire",
      "Northumberland",
      "North Yorkshire",
      "Nottinghamshire",
      "Oxfordshire",
      "Shropshire",
      "Somerset",
      "Staffordshire",
      "Suffolk",
      "Surrey",
      "Warwickshire",
      "West Sussex",
      "Wiltshire",
      "Worcestershire",
      "Durham",
      "East Sussex",
      "Essex",
      "Gloucestershire",
      "Hampshire",
      "Hertfordshire",
      "Kent",
      "Lancashire",
      "Leicestershire",
      "Lincolnshire",
      "Norfolk",
      "Northamptonshire",
      "Northumberland",
      "North Yorkshire",
      "Nottinghamshire",
      "Oxfordshire",
      "Shropshire",
      "Somerset",
      "Staffordshire",
      "Suffolk",
      "Surrey",
      "Warwickshire",
      "West Sussex",
      "Wiltshire",
      "Worcestershire",
      "Durham",
      "East Sussex",
      "Essex",
      "Gloucestershire",
      "Hampshire",
      "Hertfordshire",
      "Kent",
      "Lancashire",
      "Leicestershire",
      "Lincolnshire",
      "Norfolk",
      "Northamptonshire",
      "Northumberland",
      "North Yorkshire",
      "Nottinghamshire"
    $input = strtolower( $_GET['input'] );
    $len = strlen($input);
    $limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 0;
    $aResults = array();
    $count = 0;
    if ($len)
      for ($i=0;$i<count($aUsers);$i++)
       // had to use utf_decode, here
       // not necessary if the results are coming from mysql
       if (strtolower(substr(utf8_decode($aUsers[$i]),0,$len)) == $input)
        $count++;
        $aResults[] = array( "id"=>($i+1) ,"value"=>htmlspecialchars($aUsers[$i]), "info"=>htmlspecialchars($aInfo[$i]) );
       if ($limit && $count==$limit)
        break;
    if (isset($_REQUEST['json']))
      header("Content-Type: application/json");
      echo "{\"results\": [";
      $arr = array();
      for ($i=0;$i<count($aResults);$i++)
       $arr[] = "{\"id\": \"".$aResults[$i]['id']."\", \"value\": \"".$aResults[$i]['value']."\", \"info\": \"\"}";
      echo implode(", ", $arr);
      echo "]}";
    else
      header("Content-Type: text/xml");
      echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?><results>";
      for ($i=0;$i<count($aResults);$i++)
       echo "<rs id=\"".$aResults[$i]['id']."\" info=\"".$aResults[$i]['info']."\">".$aResults[$i]['value']."</rs>";
      echo "</results>";
    ?>

    Thank you so much.  I was planning on hand coding it because my objective is to learn, not to have dreamweaver do it for me, so I will check out the link :
    http://docs.php.net/manual/en/mysqli.query.php.
    LOL, I thought I was just starting to understand MySQL, and now I've got to start learning MySQLi.  I hope there is not too much different between the two.  Thanks again.

  • QuantumToolkit taking up 100% of CPU when no CSS is loaded

    All
    Our application has a simple TableView that takes an incoming server object and displays it for the user. When it receives a similar object the model will attempt to find the previous object and update one or two cells with new status values. Nothing taxing one would think. I have turned off the CSS so we are using the default. We also have Platform.runLater in our model so when we are about to update the GUI that takes place.
    The application functions correctly, but when ramping up the inserts to say 1 every second we see a slow down in the application. The application does function but response it slow when clicking on drop down menus etc. I have attached a profiler stack trace. And we saw that the QuantumToolkit seems to be doing all of the work. Any ideas on how we can trace if further.
    Our object is very simple in that we have some properties that are used to show updates to the row when changed. Most of the fields that need to be updated are set using SimpleDoubleProperty or StringProperty etc.
    Apologies for the formatting, this was exported from the profiler.
    Call tree (all threads together)
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    |                                                                              Name                                                                              |    Time (ms)    |  Own Time (ms)  |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    |  +---<All threads>                                                                                                                                             |  77,931  100 %  |                 |
    |    |                                                                                                                                                           |                 |                 |
    |    +---com.sun.javafx.tk.quantum.QuantumToolkit$8.run()                                                                                                        |  71,251   91 %  |            182  |
    |    | |                                                                                                                                                         |                 |                 |
    |    | +---javafx.scene.Scene$ScenePulseListener.pulse()                                                                                                         |  71,009   91 %  |              0  |
    |    | | |                                                                                                                                                       |                 |                 |
    |    | | +---javafx.scene.Scene.access$3000(Scene)                                                                                                               |  66,294   85 %  |              0  |
    |    | | | |                                                                                                                                                     |                 |                 |
    |    | | | +---javafx.scene.Scene.doLayoutPass()                                                                                                                 |  66,294   85 %  |              0  |
    |    | | |   |                                                                                                                                                   |                 |                 |
    |    | | |   +---javafx.scene.Scene.layoutDirtyRoots()                                                                                                           |  66,294   85 %  |              0  |
    |    | | |     |                                                                                                                                                 |                 |                 |
    |    | | |     +---javafx.scene.Parent.layout()                                                                                                                  |  66,294   85 %  |              0  |
    |    | | |       |                                                                                                                                               |                 |                 |
    |    | | |       +---javafx.scene.Parent.layout()                                                                                                                |  65,188   84 %  |              0  |
    |    | | |       | |                                                                                                                                             |                 |                 |
    |    | | |       | +---javafx.scene.Parent.layout()                                                                                                              |  65,144   84 %  |              0  |
    |    | | |       | | |                                                                                                                                           |                 |                 |
    |    | | |       | | +---javafx.scene.Parent.layout()                                                                                                            |  65,144   84 %  |              0  |
    |    | | |       | |   |                                                                                                                                         |                 |                 |
    |    | | |       | |   +---javafx.scene.Parent.layout()                                                                                                          |  59,823   77 %  |              0  |
    |    | | |       | |   | |                                                                                                                                       |                 |                 |
    |    | | |       | |   | +---com.sun.javafx.scene.control.skin.VirtualFlow.layoutChildren()                                                                      |  52,938   68 %  |             20  |
    |    | | |       | |   | | |                                                                                                                                     |                 |                 |
    |    | | |       | |   | | +---javafx.scene.control.Control.impl_processCSS(boolean)                                                                             |  44,568   57 %  |              0  |
    |    | | |       | |   | | | |                                                                                                                                   |                 |                 |
    |    | | |       | |   | | | +---javafx.scene.Parent.impl_processCSS(boolean)                                                                                    |  44,568   57 %  |              0  |
    |    | | |       | |   | | |   |                                                                                                                                 |                 |                 |
    |    | | |       | |   | | |   +---javafx.scene.Parent.impl_processCSS(boolean)                                                                                  |  30,346   39 %  |              0  |
    |    | | |       | |   | | |   | |                                                                                                                               |                 |                 |
    |    | | |       | |   | | |   | +---javafx.scene.control.Control.impl_processCSS(boolean)                                                                       |  30,182   39 %  |              0  |
    |    | | |       | |   | | |   | | |                                                                                                                             |                 |                 |
    |    | | |       | |   | | |   | | +---javafx.scene.Parent.impl_processCSS(boolean)                                                                              |  30,182   39 %  |              0  |
    |    | | |       | |   | | |   | |   |                                                                                                                           |                 |                 |
    |    | | |       | |   | | |   | |   +---javafx.scene.Node.impl_processCSS(boolean)                                                                              |  26,135   34 %  |              0  |
    |    | | |       | |   | | |   | |   | |                                                                                                                         |                 |                 |
    |    | | |       | |   | | |   | |   | +---com.sun.javafx.css.StyleHelper.transitionToState(Node)                                                                |  25,492   33 %  |            762  |
    |    | | |       | |   | | |   | |   | | |                                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | +---javafx.scene.control.Control$12.set(String)                                                                         |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | | |                                                                                                                     |                 |                 |
    |    | | |       | |   | | |   | |   | | | +---com.sun.javafx.css.StyleableStringProperty.set(String)                                                            |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |   |                                                                                                                   |                 |                 |
    |    | | |       | |   | | |   | |   | | |   +---javafx.beans.property.StringPropertyBase.set(String)                                                            |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |     |                                                                                                                 |                 |                 |
    |    | | |       | |   | | |   | |   | | |     +---javafx.beans.property.StringPropertyBase.markInvalid()                                                        |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |       |                                                                                                               |                 |                 |
    |    | | |       | |   | | |   | |   | | |       +---javafx.scene.control.Control$12.invalidated()                                                               |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |         |                                                                                                             |                 |                 |
    |    | | |       | |   | | |   | |   | | |         +---javafx.scene.control.Control.access$500(Control)                                                          |  24,092   31 %  |              0  |
    |    | | |       | |   | | |   | |   | | |           |                                                                                                           |                 |                 |
    |    | | |       | |   | | |   | |   | | |           +---javafx.scene.control.Control.loadSkinClass()                                                            |  24,092   31 %  |            102  |
    |    | | |       | |   | | |   | |   | | |             |                                                                                                         |                 |                 |
    |    | | |       | |   | | |   | |   | | |             +---java.lang.reflect.Constructor.newInstance(Object[])                                                   |  20,791   27 %  |          4,752  |
    |    | | |       | |   | | |   | |   | | |             | |                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | |             | +---javafx.scene.Node.addEventHandler(EventType, EventHandler)                                          |   2,848    4 %  |              0  |
    |    | | |       | |   | | |   | |   | | |             | |                                                                                                       |                 |                 |
    |    | | |       | |   | | |   | |   | | |             | +---javafx.scene.layout.StackPane.<init>()                                                              |   1,982    3 %  |              0  |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+-----------------+
    Generated by YourKit Java Profiler 10.0.6 Feb 27, 2012 11:41:24 AM

    HEre is an attempt at a test class. If you run it click start data add, then start updater it simulates the traffic coming from our server. When you start clicking on the qty buttons you see a delay as the amounts increase. If you click stop , then the GUi is okay
    package test;
    import java.util.Date;
    import java.util.Random;
    import java.util.concurrent.atomic.AtomicInteger;
    import javafx.application.Application;
    import javafx.application.Platform;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.beans.property.SimpleIntegerProperty;
    import javafx.beans.property.SimpleObjectProperty;
    import javafx.beans.property.SimpleStringProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.TableCell;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableColumn.SortType;
    import javafx.scene.control.TableView;
    import javafx.scene.control.TextField;
    import javafx.scene.control.cell.PropertyValueFactory;
    import javafx.scene.layout.HBox;
    import javafx.scene.layout.VBox;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;
    import javafx.util.Callback;
    public class TestApplication extends Application {
         private TableView<OrderDataTableNewRow> exchangesTable = new TableView<OrderDataTableNewRow>();
         static ObservableList<OrderDataTableNewRow> data  = FXCollections.observableArrayList();
         @Override
         public void start(final Stage stage) throws Exception {
              final VBox rootPane = new VBox();
              rootPane.setSpacing(10);
              rootPane.setPrefSize(800, 600);
              TableColumn<OrderDataTableNewRow, String> clOrderIdCol = new TableColumn<OrderDataTableNewRow, String>("ClOrderId");
              clOrderIdCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.CLORDERID_PROPERTY));
              clOrderIdCol.setSortable(true);
              clOrderIdCol.setPrefWidth(130);
              TableColumn<OrderDataTableNewRow, String> exchangeCol = new TableColumn<OrderDataTableNewRow, String>("Exchange");
              exchangeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.EXCHANGE_PROPERTY));
              exchangeCol.setSortable(true);
              exchangeCol.setPrefWidth(65);
              TableColumn<OrderDataTableNewRow, String> securityCodeCol = new TableColumn<OrderDataTableNewRow, String>("Security");
              securityCodeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.SECURITY_CODE_PROPERTY));
              securityCodeCol.setSortable(true);
              securityCodeCol.setPrefWidth(70);
              TableColumn<OrderDataTableNewRow, OrderType> orderTypeCol = new TableColumn<OrderDataTableNewRow, OrderType>("Type");
              orderTypeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,OrderType>(OrderDataTableNewRow.ORDERTYPE_PROPERTY));
              orderTypeCol.setSortable(true);
              orderTypeCol.setPrefWidth(70);
              TableColumn<OrderDataTableNewRow, SideEnum>  sideCol = new TableColumn<OrderDataTableNewRow, SideEnum>("Side");
              sideCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, SideEnum>(OrderDataTableNewRow.SIDE_PROPERTY));
              sideCol.setSortable(true);
              sideCol.setPrefWidth(65);
              TableColumn<OrderDataTableNewRow, Double> priceCol = new TableColumn<OrderDataTableNewRow, Double>("Price");
              priceCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.PRICE_PROPERTY));
              priceCol.setSortable(true);
              priceCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Integer> qtyCol = new TableColumn<OrderDataTableNewRow, Integer>("Qty");
              qtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.QTY_PROPERTY));
              qtyCol.setSortable(true);
              qtyCol.setPrefWidth(75);
              TableColumn<OrderDataTableNewRow, Double> lastPxCol = new TableColumn<OrderDataTableNewRow, Double>("LastPx");
              lastPxCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.LAST_PX_PROPERTY));
              lastPxCol.setSortable(true);
              lastPxCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Integer> lastQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("LastQty");
              lastQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.LAST_QTY_PROPERTY));
              lastQtyCol.setSortable(true);
              lastQtyCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Double> avgPxCol = new TableColumn<OrderDataTableNewRow, Double>("AvgPx");
              avgPxCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Double>(OrderDataTableNewRow.AVG_PX_PROPERTY));
              avgPxCol.setSortable(true);
              avgPxCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Integer> cumQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("CumQty");
              cumQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.CUM_QTY_PROPERTY));
              cumQtyCol.setSortable(true);
              cumQtyCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Integer> leavesQtyCol = new TableColumn<OrderDataTableNewRow, Integer>("Leaves");
              leavesQtyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,Integer>(OrderDataTableNewRow.LEAVES_QTY_PROPERTY));
              leavesQtyCol.setSortable(true);
              leavesQtyCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> accountCol = new TableColumn<OrderDataTableNewRow, String>("Account");
              accountCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.ACCOUNT_PROPERTY));
              accountCol.setSortable(true);
              accountCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> brokerCol = new TableColumn<OrderDataTableNewRow, String>("Broker");
              brokerCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.BROKER_PROPERTY));
              brokerCol.setSortable(true);
              brokerCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> traderCol = new TableColumn<OrderDataTableNewRow, String>("Trader");
              traderCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.TRADER_PROPERTY));
              traderCol.setSortable(true);
              traderCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, OrderStatus> orderStatusCol = new TableColumn<OrderDataTableNewRow, OrderStatus>("OrderStatus");
              orderStatusCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, OrderStatus>(OrderDataTableNewRow.ORDER_STATUS_PROPERTY));
              orderStatusCol.setSortable(true);
              orderStatusCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, ExecutionType> executionTypeCol = new TableColumn<OrderDataTableNewRow, ExecutionType>("ExecType");
              executionTypeCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, ExecutionType>(OrderDataTableNewRow.EXECUTION_TYPE_PROPERTY));
              executionTypeCol.setSortable(true);
              executionTypeCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, Date> expiryCol = new TableColumn<OrderDataTableNewRow, Date>("Expiry");
              expiryCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, Date>(OrderDataTableNewRow.EXPIRY_PROPERTY));
              expiryCol.setSortable(true);
              expiryCol.setPrefWidth(85);
              TableColumn<OrderDataTableNewRow, String> currencyCol = new TableColumn<OrderDataTableNewRow, String>("Currency");
              currencyCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.CURRENCY_PROPERTY));
              currencyCol.setSortable(true);
              currencyCol.setPrefWidth(81);
              TableColumn<OrderDataTableNewRow, String> messageCol = new TableColumn<OrderDataTableNewRow, String>("Text");
              messageCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.TEXT_PROPERTY));
              messageCol.setPrefWidth(140);
              TableColumn<OrderDataTableNewRow, String> giveUpCol = new TableColumn<OrderDataTableNewRow, String>("GiveUp");
              giveUpCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.GIVEUP_PROPERTY));
              giveUpCol.setSortable(true);
              giveUpCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, String> giveInCol = new TableColumn<OrderDataTableNewRow, String>("GiveIn");
              giveInCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow,String>(OrderDataTableNewRow.GIVEIN_PROPERTY));
              giveInCol.setPrefWidth(100);
              TableColumn<OrderDataTableNewRow, Date> createdCol = new TableColumn<OrderDataTableNewRow, Date>("Updated");
              createdCol.setCellValueFactory(new PropertyValueFactory<OrderDataTableNewRow, Date>(OrderDataTableNewRow.UPDATED_PROPERTY));
              createdCol.setSortable(true);
              createdCol.setMinWidth(190);
              createdCol.setSortType(SortType.DESCENDING);
              // Setup all the renders
              Callback<TableColumn<OrderDataTableNewRow,String>, TableCell<OrderDataTableNewRow,String>> defaultStringRenderFactory =
                        new Callback<TableColumn<OrderDataTableNewRow,String>, TableCell<OrderDataTableNewRow,String>>() {
                   public TableCell<OrderDataTableNewRow,String> call(TableColumn<OrderDataTableNewRow,String> p) {
                        return new StringFormatCell<OrderDataTableNewRow>(Pos.CENTER);
              Callback<TableColumn<OrderDataTableNewRow, SideEnum>, TableCell<OrderDataTableNewRow, SideEnum>> defaultSideCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, SideEnum>, TableCell<OrderDataTableNewRow, SideEnum>>() {
                   public TableCell<OrderDataTableNewRow, SideEnum> call(TableColumn<OrderDataTableNewRow, SideEnum> p) {
                        return new SideFormatCell<OrderDataTableNewRow>();
              Callback<TableColumn<OrderDataTableNewRow, OrderStatus>, TableCell<OrderDataTableNewRow, OrderStatus>> orderStatusCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, OrderStatus>, TableCell<OrderDataTableNewRow, OrderStatus>>() {
                   public TableCell<OrderDataTableNewRow, OrderStatus> call(TableColumn<OrderDataTableNewRow, OrderStatus> p) {
                        return new OrderStatusFormatCell<OrderDataTableNewRow>();
              Callback<TableColumn<OrderDataTableNewRow, OrderType>, TableCell<OrderDataTableNewRow, OrderType>> orderTypeCellFactory =
                        new Callback<TableColumn<OrderDataTableNewRow, OrderType>, TableCell<OrderDataTableNewRow, OrderType>>() {
                   public TableCell<OrderDataTableNewRow, OrderType> call(TableColumn<OrderDataTableNewRow, OrderType> p) {
                        return new OrderTypeFormatCell<OrderDataTableNewRow>(null);
              clOrderIdCol.setCellFactory(defaultStringRenderFactory);
              exchangeCol.setCellFactory(defaultStringRenderFactory);
              securityCodeCol.setCellFactory(defaultStringRenderFactory);
              orderTypeCol.setCellFactory(orderTypeCellFactory);
              sideCol.setCellFactory(defaultSideCellFactory);
              orderStatusCol.setCellFactory(orderStatusCellFactory);
              accountCol.setCellFactory(defaultStringRenderFactory);
              brokerCol.setCellFactory(defaultStringRenderFactory);
              traderCol.setCellFactory(defaultStringRenderFactory);
              currencyCol.setCellFactory(defaultStringRenderFactory);
              messageCol.setCellFactory(defaultStringRenderFactory);
              this.exchangesTable.setItems(data);
              this.exchangesTable.setTableMenuButtonVisible(true);
              ObservableList<TableColumn<OrderDataTableNewRow, ?>> columns = this.exchangesTable.getColumns();
              columns.addAll(clOrderIdCol, exchangeCol, securityCodeCol, orderTypeCol, sideCol, priceCol, qtyCol, orderStatusCol, lastQtyCol, lastPxCol, avgPxCol, cumQtyCol, leavesQtyCol, executionTypeCol, accountCol, brokerCol, traderCol, expiryCol, currencyCol, giveUpCol, giveInCol, messageCol, createdCol);
              //Layout
              final HBox hbox = new HBox();
              Button updaterButton = new Button("START_UPDATER");
              Button inserterButton = new Button("START_DATA_ADD");
              Button stopButton = new Button("STOP");
              final TextField qtyField = new TextField();
              Button tenButton = new Button("10");
              Button twentyButton = new Button("20");
              Button fiveButton = new Button("5");
              Button threeButton = new Button("3");
              hbox.setSpacing(3);
              hbox.getChildren().addAll(updaterButton, inserterButton, stopButton, qtyField, tenButton, twentyButton, fiveButton, threeButton);
              tenButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("10");
              twentyButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("20");
              fiveButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("5");
              threeButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        qtyField.clear();
                        qtyField.setText("3");
              final AtomicInteger counter = new AtomicInteger();
              final Thread runner = new Thread() {
                   // runnable for that thread
                   public void run() {
                        while(true) {
                             try {
                                  // imitating work
                                  Thread.sleep(new Random().nextInt(100));
                             } catch (InterruptedException ex) {
                                  ex.printStackTrace();
                             // update ProgressIndicator on FX thread
                             Platform.runLater(new Runnable() {
                                  public void run() {
                                       int andIncrement = counter.getAndIncrement();
                                       long orderId = andIncrement;
                                       String clOrderId = andIncrement+"CL";
                                       String exchange = "XEUR";
                                       String code = "ES";
                                       int nextEnumRand = new Random().nextInt(SideEnum.values().length);
                                       SideEnum side = SideEnum.values()[nextEnumRand];
                                       int nextTypeEnumRand = new Random().nextInt(OrderType.values().length);
                                       OrderType orderType = OrderType.values()[nextTypeEnumRand];
                                       int nextSecEnumRand = new Random().nextInt(SecurityType.values().length);
                                       SecurityType securityType =  SecurityType.values()[nextSecEnumRand];
                                       String currency = "USD";
                                       Date expiry = new Date();
                                       double price = 92.22;
                                       int qty =10;
                                       String account = "ACCOUNT";
                                       String broker = "BROKER";
                                       String trader = "TRaDER";
                                       OrderDataTableNewRow tableRow =  new OrderDataTableNewRow(orderId, clOrderId, exchange, code, side, orderType, securityType, currency, expiry, price, qty, account, broker, trader);
                                       System.out.println("Adding row "+tableRow);
                                       data.add(tableRow);
              final Thread updater = new Thread() {
                   // runnable for that thread
                   public void run() {
                        while(true) {
                             try {
                                  // imitating work
                                  Thread.sleep(new Random().nextInt(100));
                             } catch (InterruptedException ex) {
                                  ex.printStackTrace();
                             // update ProgressIndicator on FX thread
                             Platform.runLater(new Runnable() {
                                  public void run() {
                                       int andIncrement = counter.get();
                                       int nextInt = new Random().nextInt(andIncrement);
                                       OrderDataTableNewRow tableRow = data.get(nextInt);
                                       System.out.println("Updating row "+tableRow);
                                       int nextEnumRand = new Random().nextInt(OrderStatus.values().length);
                                       OrderStatus randDomStatus = OrderStatus.values()[nextEnumRand];
                                       tableRow.setOrderStatus(randDomStatus);
                                       tableRow.setUpdated(new Date());
              updaterButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        updater.start();
              inserterButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        runner.start();
              stopButton.setOnAction(new EventHandler<ActionEvent>() {
                   @Override
                   public void handle(ActionEvent arg0) {
                        runner.stop();
                        updater.stop();
              String defaultCssStyleResource = this.getClass().getResource("style_blue.css").getFile();
              this.exchangesTable.prefWidthProperty().bind(rootPane.widthProperty());
              this.exchangesTable.prefHeightProperty().bind(rootPane.heightProperty());
              rootPane.getChildren().addAll(hbox, exchangesTable);
              Scene scene = new Scene(rootPane, 400, 400, Color.WHITE); 
              scene.getStylesheets().add(defaultCssStyleResource);
              stage.setResizable(true);
              stage.setScene(scene);
              stage.show();
         enum SideEnum {
              BUY,
              SELL
         enum SecurityType {
              STOCK,
              BOND,
              FUTURE
         enum OrderType {
              LIMIT,
              MARKET,
              STOP
         enum OrderStatus {
              EXECUTED,
              PENDING,
              FILLED,
              CANCELLED,
              WORKING,
              PENDINGNEW
         enum ExecutionType {
              EXECUTED,
              FILLED,
              CANCELLED,
         public static void main(String[] args) {
              Application.launch(TestApplication.class, args);
         public class OrderDataTableNewRow  {
              public static final String CLORDERID_PROPERTY = "clOrderId";
              public static final String EXCHANGE_PROPERTY = "exchange";
              public static final String SECURITY_CODE_PROPERTY = "code";
              public static final String SIDE_PROPERTY = "side";
              public static final String PRICE_PROPERTY = "price";
              public static final String ORDERTYPE_PROPERTY = "orderType";
              public static final String QTY_PROPERTY = "qty";
              public static final String LAST_PX_PROPERTY = "lastPx";
              public static final String LAST_QTY_PROPERTY = "lastQty";
              public static final String AVG_PX_PROPERTY = "avgPx";
              public static final String CUM_QTY_PROPERTY = "cumQty";
              public static final String LEAVES_QTY_PROPERTY = "leavesQty";
              public static final String ACCOUNT_PROPERTY = "account";
              public static final String BROKER_PROPERTY = "broker";
              public static final String TRADER_PROPERTY = "trader";
              public static final String ORDER_STATUS_PROPERTY = "orderStatus";
              public static final String EXECUTION_TYPE_PROPERTY = "executionType";
              public static final String EXPIRY_PROPERTY = "expiry";
              public static final String CURRENCY_PROPERTY = "currency";
              public static final String TEXT_PROPERTY = "text";
              public static final String GIVEUP_PROPERTY = "giveUp";
              public static final String GIVEIN_PROPERTY = "giveIn";
              public static final String UPDATED_PROPERTY = "updated";
              private final long orderId;
              private final String clOrderId;
              private final String exchange;
              private final String code;
              private final SideEnum side;
              private final OrderType orderType;
              private final SecurityType securityType;
              private final String account;
              private final String broker;
              private final String trader;
              private final Date expiry;
              private final String currency;
              private final double price;
              private final int qty;
              private final SimpleObjectProperty<OrderStatus> orderStatus = new SimpleObjectProperty<OrderStatus>();
              private final SimpleObjectProperty<ExecutionType> executionType = new SimpleObjectProperty<ExecutionType>();
              private final SimpleDoubleProperty lastPx = new SimpleDoubleProperty();
              private final SimpleIntegerProperty lastQty = new SimpleIntegerProperty();
              private final SimpleIntegerProperty cumQty = new SimpleIntegerProperty();
              private final SimpleIntegerProperty leavesQty = new SimpleIntegerProperty();
              private final SimpleDoubleProperty avgPx = new SimpleDoubleProperty();
              private final SimpleStringProperty externalOrderId = new SimpleStringProperty();
              private final SimpleStringProperty text = new SimpleStringProperty();
              private final SimpleStringProperty giveUp = new SimpleStringProperty();
              private final SimpleStringProperty giveIn = new SimpleStringProperty();
              private final SimpleObjectProperty<Date> updated = new SimpleObjectProperty<Date>();
               * Creates a new instance of {@link OrderDataTableNewRow}.
              public OrderDataTableNewRow(long orderId, String clOrderId, String exchange, String code, SideEnum side, OrderType orderType,  SecurityType securityType, String currency,
                        Date expiry, double price, int qty, String account, String broker, String trader) {
                   this.orderId = orderId;
                   this.clOrderId = clOrderId;
                   this.exchange = exchange;
                   this.code = code;
                   this.side = side;
                   this.orderType = orderType;
                   this.currency = currency;
                   this.expiry = expiry;
                   this.securityType = securityType;
                   this.account = account;
                   this.broker = broker;
                   this.trader = trader;
                   this.price = price;
                   this.qty = qty;
              public void setUpdated(Date date) {
                   this.updated.set(date);
              public void setOrderStatus(OrderStatus randDomStatus) {
                   this.orderStatus.set(randDomStatus);
               * @return the orderId
              public final long getOrderId() {
                   return this.orderId;
               * @return the clOrderId
              public final String getClOrderId() {
                   return this.clOrderId;
               * @return the exchange
              public final String getExchange() {
                   return this.exchange;
               * @return the code
              public final String getCode() {
                   return this.code;
               * @return the side
              public final SideEnum getSide() {
                   return this.side;
               * @return the orderType
              public final OrderType getOrderType() {
                   return this.orderType;
               * @return the securityType
              public final SecurityType getSecurityType() {
                   return this.securityType;
               * @return the account
              public final String getAccount() {
                   return this.account;
               * @return the broker
              public final String getBroker() {
                   return this.broker;
               * @return the trader
              public final String getTrader() {
                   return this.trader;
               * @return the expiry
              public final Date getExpiry() {
                   return this.expiry;
               * @return the currency
              public final String getCurrency() {
                   return this.currency;
               * @return the price
              public final double getPrice() {
                   return this.price;
               * @return the qty
              public final int getQty() {
                   return this.qty;
               * @return the orderStatus
              public final SimpleObjectProperty<OrderStatus> getOrderStatus() {
                   return this.orderStatus;
               * @return the executionType
              public final SimpleObjectProperty<ExecutionType> getExecutionType() {
                   return this.executionType;
               * @return the lastPx
              public final SimpleDoubleProperty getLastPx() {
                   return this.lastPx;
               * @return the lastQty
              public final SimpleIntegerProperty getLastQty() {
                   return this.lastQty;
               * @return the cumQty
              public final SimpleIntegerProperty getCumQty() {
                   return this.cumQty;
               * @return the leavesQty
              public final SimpleIntegerProperty getLeavesQty() {
                   return this.leavesQty;
               * @return the avgPx
              public final SimpleDoubleProperty getAvgPx() {
                   return this.avgPx;
               * @return the externalOrderId
              public final SimpleStringProperty getExternalOrderId() {
                   return this.externalOrderId;
               * @return the text
              public final SimpleStringProperty getText() {
                   return this.text;
               * @return the giveUp
              public final SimpleStringProperty getGiveUp() {
                   return this.giveUp;
               * @return the giveIn
              public final SimpleStringProperty getGiveIn() {
                   return this.giveIn;
               * @return the updated
              public final SimpleObjectProperty<Date> getUpdated() {
                   return this.updated;
               * @return the created
              public final SimpleObjectProperty<Date> updatedProperty() {
                   return this.updated;
               * @return the lastPrice
              public final SimpleDoubleProperty lastPxProperty() {
                   return this.lastPx;
               * @return the lastQty
              public final SimpleIntegerProperty lastQtyProperty() {
                   return this.lastQty;
               * @return the cumQty
              public final SimpleIntegerProperty cumQtyProperty() {
                   return this.cumQty;
               * @return the averagePrice
              public final SimpleDoubleProperty avgPxProperty() {
                   return this.avgPx;
               * @return the executionStatus
              public final SimpleObjectProperty<ExecutionType> executionTypeProperty() {
                   return this.executionType;
               * @return the leavesQty
              public SimpleIntegerProperty leavesQtyProperty() {
                   return this.leavesQty;
               * @return the text
              public final SimpleStringProperty textProperty() {
                   return this.text;
               * @return the orderId
              public final SimpleStringProperty externalOrderIdProperty() {
                   return this.externalOrderId;
               * @return the orderStatus
              public final SimpleObjectProperty<OrderStatus> orderStatusProperty() {
                   return this.orderStatus;
               * @return the giveUp
              public final SimpleStringProperty giveUpProperty() {
                   return this.giveUp;
               * @return the giveIn
              public final SimpleStringProperty giveInProperty() {
                   return this.giveIn;
         public class StringFormatCell<T>  extends TableCell<T, String> {
              private final Pos alignment;
              private final String cssFormat;
               * Creates a new instance of {@link IntegerFormatCell}.
              public StringFormatCell(Pos alignment) {
                   this(null, alignment);
               * Creates a new instance of {@link IntegerFormatCell}.
              public StringFormatCell(String cssFormat, Pos alignment) {
                   this.cssFormat = cssFormat;
                   this.alignment = alignment;
                   setId(this.cssFormat);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(String item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   setText(item);
                   setAlignment(alignment);
         public class SideFormatCell<T> extends TableCell<T, SideEnum> {
               * Creates a new instance of {@link SideFormatCell}.
              public SideFormatCell() {
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(SideEnum item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   String name = item.name();
                   setText(name);
                   switch (item) {
                   case BUY:
                        setId("bidPriceCell");
                        break;
                   case SELL:
                        setId("askPriceCell");
                        break;
         public class OrderStatusFormatCell<T> extends TableCell<T, OrderStatus> {
               * Creates a new instance of {@link OrderStatusFormatCell}.
              public OrderStatusFormatCell() {
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(OrderStatus item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   switch (item) {
                   case PENDING:
                        setId("statusWorkingColumn");
                        setText("Working");
                        break;
                   case PENDINGNEW:
                        setId("statusPendingColumn");
                        setText("Pending New");
                        break;
                   case CANCELLED:
                        setId("statusPendingCancelColumn");
                        setText("Pending Cancel");
                        break;
                   case EXECUTED:
                        setId("statusPartFilledColumn");
                        setText("Part Filled");
                        break;
         public class OrderTypeFormatCell<T> extends TableCell<T, OrderType> {
               * Creates a new instance of {@link OrderTypeFormatCell}.
              public OrderTypeFormatCell(String cssStyleName) {
                   setId(cssStyleName);
                   setAlignment(Pos.CENTER);
               * {@inheritDoc}
               * @see javafx.scene.control.Cell#updateItem(java.lang.Object, boolean)
              @Override
              protected void updateItem(OrderType item, boolean empty) {
                   if(item == null) {
                        return;
                   // calling super here is very important - don't skip this!
                   super.updateItem(item, empty);
                   String itemAsString = item.name();
                   setText(itemAsString);
                   switch (item) {
                   case LIMIT:
                        setId("orderTypeLimit");
                        setText("Limit");
                        break;
                   case MARKET:
                        setId("orderTypeMarket");
                        setText("Market");
                        break;
                   case STOP:
                        setId("orderTypeStop");
                        setText("Stop");
                        break;
    }

  • Help needed in this program!

    Hi, i have written a program for solving a power flow question,using Gaussian elimination method to solve for matrices.The program is pretty long,and i have tried breaking the program into smaller modules,but there were errors in the numeric results at the end.
    I need some suggests as to how to break the program into smaller modules???
    /* Example 10.6 Pg 347 from Bergen.
       Demonstration of Newton-Raphson Iteration.
    import java.util.*;
    import java.io.*;
    import java.lang.Math;
    import java.lang.ArrayIndexOutOfBoundsException;
    public class NewtonRaphsonIt
         public static void main( String args[])throws ArrayIndexOutOfBoundsException
              int Deg = 360;
              int Loop = 3;
              double pi = 3.141592653589793238;
              double limit = Math.abs(5E-6);
              int i,j,k,u;
              double V1,V2,V3,P2,P3,Q3,deltaP2,deltaP3,deltaQ3;
              double Theta1,Theta2,Theta3;
              double P1,Q1,Q2;
              double P_Loss,Q_Loss,PF;
              double maxi,temp,temp2;
              int tempi=0;
              //values given
              P2=0.6661; P3=-2.8653; Q3=-1.2244;
              V1=1; V2=1.05; Theta1=0;
              //values supposely to be chosen as a rough guess
              Theta2=Theta3=0; V3=1;
              double [][] Y_bus = {{-19.98,10,10},{10,-19.98,10},{10,10,-19.98}};
              double [][]   J   = new double [3][3];
              double []     fx  = new double [3];
              double []    oldx = {Theta2,Theta3,V3};
              double []     x   = {Theta2,Theta3,V3};
              double []     V   = {V1,V2,Theta1};
              double []    Bus  = {P2,P3,Q3};     
              double []   delta = new double [3];
              double []    ANS  = new double [3];
              int f = fx.length;
              int y = Y_bus.length;
              int z = J.length;
              int c = Bus.length;
              int h = delta.length;     
              int e = ANS.length;
              int ox= oldx.length;
              //System.out.println("Arrary size for Ybus is:" +n);
              //output Ybus Matrix
              System.out.println(" Ybus is:");
              System.out.println("---------");
              for ( i=0; i<y; i++)
                   for ( j=0; j<y; j++)
                        System.out.print(+Y_bus[i][j]+" "+", ");
              System.out.println();
              for ( u=1; u<Loop+1; u++){
              //while(delta[0] < limit){
              //Jacobian matrix
              //deltaP2/deltaTheta2
              J[0][0] = (Math.abs(V[1]))* (Math.abs(V[0])) * Y_bus[1][0] * (Math.cos(x[0]))
                        + (Math.abs(V[1]))* (Math.abs(x[2])) * Y_bus[1][2] * (Math.cos(x[0]-x[1]));
              //deltaP2/deltaTheta3
              J[0][1] = -(Math.abs(V[1]))* (Math.abs(x[2])) * Y_bus[1][2] * (Math.cos(x[0]-x[1]));
              //deltaP2/delta|V3|
              J[0][2] = (Math.abs(V[1])) * Y_bus[1][2] * (Math.sin(x[0]-x[1]));
              //deltaP3/deltaTheta2
              J[1][0] = -(Math.abs(V[1]))*(Math.abs(x[2])) * Y_bus[2][0] * (Math.cos(x[1]-x[0]));
              //deltaP3/deltaTheta3          
              J[1][1] = (Math.abs(V[0])) *(Math.abs(x[2])) * Y_bus[2][0] * (Math.cos(x[1]))
                        +(Math.abs(V[1])) *(Math.abs(x[2])) * Y_bus[2][1] * (Math.cos(x[1]-x[0]));
              //deltaP3/delta|V3|
              J[1][2]     = (Math.abs(V[0])) * Y_bus[2][0] * (Math.sin(x[1]))
                        +(Math.abs(V[1]))* Y_bus[2][1] * (Math.sin(x[1]-x[0]));
              //deltaQ3/deltaTheta2
              J[2][0] = - Y_bus[2][0] * (Math.abs(x[2])) * (Math.abs(V[1])) *(Math.sin(x[1]-x[0]));
              //deltaQ3/deltaTheta3
              J[2][1]     = (Math.abs(x[2]))*(Math.abs(V[0])) * Y_bus[2][0] * (Math.sin(x[1]))
                        +(Math.abs(x[2]))*(Math.abs(V[1])) * Y_bus[2][1] * (Math.sin(x[1]-x[0]));
              //deltaQ3/delta|V3|
              J[2][2]     = -((Math.abs(V[0])) * Y_bus[2][0] * (Math.cos(x[1]))
                        + (Math.abs(V[1])) * Y_bus[2][1] * (Math.cos(x[1]-x[0]))
                        + (Math.abs(x[2]))* 2 * Y_bus[2][2]);
              //output Jacobian Matrix
              System.out.println();
              System.out.println(+u+")"+" Jacobian Matrix is:");
              System.out.println("-----------------------");
              for ( i=0; i<z; i++)
                   for ( j=0; j<z; j++)
                        System.out.print(+J[i][j]+" "+", ");
              System.out.println();
              // variable P2
              fx[0] = (Math.abs(V[1]))*(Math.abs(V[0])) * Y_bus[1][0] * (Math.sin(x[0]-V[2]))
                   + (Math.abs(V[1]))*(Math.abs(x[2])) * Y_bus[1][2] * (Math.sin(x[0]-x[1]));
              //System.out.println("P2 is :"+fx[0]);
              // variable P3
              fx[1] = (Math.abs(x[2]))*(Math.abs(V[0])) * Y_bus[2][0] * (Math.sin(x[1]-V[2]))
                   + (Math.abs(x[2]))*(Math.abs(V[1])) * Y_bus[2][1] * (Math.sin(x[1]-x[0]));
              //System.out.println("P3 is :"+fx[1]);
              // variable Q3
              fx[2] = -((Math.abs(x[2]))*(Math.abs(V[0])) * Y_bus[2][0] * (Math.cos(x[1]-V[2]))
                   + (Math.abs(x[2]))*(Math.abs(V[1])) * Y_bus[2][1] * (Math.cos(x[1]-x[0]))
                   + (Math.abs(x[2]))*(Math.abs(x[2])) * Y_bus[2][2]);
              //System.out.println("Q3 is :"+fx[2]);
              //Output f(x)
              System.out.println();     
              System.out.println(+u+")"+" Function f(x) is:");
              System.out.println("--------------------");
              for ( k=0; k<f; k++)
                   System.out.println(+fx[k]);
              System.out.println();
              //ouput P2,P3,Q3 as a matrix
              System.out.println();          
              System.out.println(+u+")"+" Matrix [P2,P3,Q3] is:");
              System.out.println("------------------------");
              for ( k=0; k<c; k++)
                   System.out.println(+Bus[k]);
              System.out.println();
              //finding values of deltaP2,deltaP3,deltaQ3
              System.out.println();          
              System.out.println(+u+")"+" Matrix [d.P2,d.P3,d.Q3] is:");
              System.out.println("------------------------------");
              for ( k=0; k<h; k++)
                   System.out.println(delta[k]= Bus[k]- fx[k]);
              System.out.println();
              //find delta x={deltaTheta2,deltaTheta3,delta|V3|}
              //Gaussian Elimination method
              //solve Ax=b
              //matrix J will be destroyed,solution will be in matrix delta
              if(J[0].length != z)
                   System.out.println("Matrix J must be a Square Matrix!");
                   return;
              for(j=0; j<z; j++)
                   maxi=-1E-12;
                   for(i=j; i<z; i++)
                        if(Math.abs(J[i][j])> maxi)
                             tempi=i;
                             maxi=Math.abs(J[i][j]);
                             //System.out.println(+tempi);
                   if(maxi<1E-12)
                        System.out.println
                             ("The Set either has mutltiple solutions or no unique solution!");
                        return;     
                   //Permuting tempi row with the j-th row
                   if(tempi != j)
                        for(k=j; k<z; k++)
                             temp=J[j][k];          //store 1st row into temp space     
                             J[j][k]=J[tempi][k];     //store last row into 1st row
                             J[tempi][k]=temp;     //store 1st row back into last row
                        temp=delta[j];               //store 1st row into temp space     
                        delta[j]=delta[tempi];          //store last row into 1st row
                        delta[tempi]=temp;          //store 1st row back into last row
                   //System.out.println("deltatemp:"+delta[j]);
                   //Divide j-th row by J[j][j]
                   temp=J[j][j];
                   delta[j]=delta[j]/temp;
                   System.out.println("delta1:"+delta[j]);
                   for(k=j; k<z; k++)
                        J[j][k]=J[j][k]/temp;
                   for(i=0; i<z; i++)
                        if(i != j)
                             temp=J[i][j];
                             temp2=delta;                         
                             for(k=0; k<z; k++)
                                  J[i][k] = J[i][k]-temp*J[j][k];
                                  delta[i]= temp2-temp*delta[j];
                                  System.out.println("delta:"+delta[j]);
                                  System.out.println("J:"+J[i][k]);
              // values of deltax in radians
              System.out.println(+u+")"+" The solution for AX=b is:");
              System.out.println("----------------------------");
              for(i=0; i<z; i++)
                   System.out.println(+delta[i]);
                   x[i] = delta[i];
              // values of deltax in degrees
              System.out.println();
              System.out.println(+u+")"+" The solution for deltaX is:");
              System.out.println("------------------------------");
              ANS[0] = x[0] * Deg/(2*pi);
              ANS[1] = x[1] * Deg/(2*pi);
              ANS[2] = x[2];
              for(i=0; i<e; i++)
                   System.out.println(+ANS[i]);
              //finding X^1=x^0 + deltax^0
              System.out.println();
              System.out.println(" The solution for X after iteration:"+"("+u+")");
              System.out.println("---------------------------------------");
              for(i=0; i<e; i++)
                   x[i] = oldx[i] + ANS[i];
                   System.out.println(+x[i]);
                   System.out.println();
                   //System.out.println("oldx:" +oldx[i]);
                   //System.out.println();
              //update the oldx with the new values from x
              for(i=0; i<ox; i++)
                   oldx[i] = x[i];
                   //System.out.println("oldx:" +oldx[i]);
                   //System.out.println();
              //convert to radians for Math.sin/cos()
              x[0] = x[0] * (2*pi)/Deg;
              x[1] = x[1] * (2*pi)/Deg;
              x[2] = x[2];
              }//for loop
              //if (delta[0] == limit)
              //     break;
              //}//while loop
              // calcuate P1,Q1,Q2
              P1 = (Math.abs(V[0]))*(Math.abs(V[1])) * Y_bus[0][1]* (Math.sin(V[2]-x[0]))
                   + (Math.abs(V[0]))*(Math.abs(x[2])) * Y_bus[0][2] * (Math.sin(V[2]-x[1]));
              System.out.println("P1 is :"+P1);
              System.out.println();
              Q1 = -((Math.abs(V[0]))*(Math.abs(V[1])) * Y_bus[0][1] * (Math.cos(V[2]-x[0]))
                   + (Math.abs(V[0]))*(Math.abs(x[2])) * Y_bus[0][2] * (Math.cos(V[2]-x[1]))
                   + (Math.abs(V[0]))*(Math.abs(V[0])) * Y_bus[0][0]);
              System.out.println("Q1 is :"+Q1);
              System.out.println();
              Q2 = -((Math.abs(V[1]))*(Math.abs(V[0])) * Y_bus[1][0] * (Math.cos(x[0]-V[2]))
                   + (Math.abs(V[1]))*(Math.abs(x[2])) * Y_bus[1][2] * (Math.cos(x[0]-x[1]))
                   + (Math.abs(V[1]))*(Math.abs(V[1])) * Y_bus[1][1]);
              System.out.println("Q2 is :"+Q2);
              System.out.println();
              //Power Loss P_Loss = (P1+P2) - P3
              P_Loss = (P1+P2) - P3;
              System.out.println("Power Loss is :"+P_Loss);
              System.out.println();
              System.out.println("P2 is :"+P2);
              System.out.println();
              System.out.println("P3 is :"+P3);
              System.out.println();
              System.out.println("Q3 is :"+Q3);
              System.out.println();
              //Reactive Power Loss
              Q_Loss = (Q1+Q2) - Q3;
              System.out.println("Reactive Power Loss:" +Q_Loss);
              System.out.println();
              System.out.println("Q1 is :"+Q1);
              System.out.println();
              System.out.println("Q2 is :"+Q2);
              System.out.println();
              System.out.println("Q3 is :"+Q3);
              System.out.println();
              //Power factor PF = P/sqrt[(P^2 +  Q^2)]
              PF = P3/(Math.sqrt( (P3*P3) + (Q3*Q3)));
              System.out.println("Power Factor is :"+PF);
              System.out.println();

    Start off by creating a Matrix class, rather than doing it all with 2d arrays in the main method? (The Matrix class might do little more than be a wrapper around a 2d array, but at least it would be a bit more modular.)

  • I am working on a book in the book module of Lightroom. When I started, I didn't realize that there was a limit of 240 pages. I am going to need to break this book up into two books now. Is there anyway to move pages from one book and create a new book wi

    I am working on a book in the book module of Lightroom. When I started, I didn't realize that there was a page limit of 240 pages. I am going to need to break this book up into two books now. Is there a way to take pages from one book to start a second book without having to "redo" the pages again in the new book?

  • Is it possible to break the 100mb limit?

    is it possible to break the 100mb limit?

    redflashred
    What is important here is that you know the properties of your source file(s), set the project preset to match the properties of those source files, and then export with settings as close as possible to the original. Often you can do this without noticing quality differences in the export.
    I am understanding and defining your issue as you wanting to maintain the quality of the original imported files in the export. If that is the case, the please supply the following, and I will give you a step by step
    a. What are the properties of your source files (including bitrate). Here I am looking for
    video compression
    audio compression
    frame size
    frame rate
    interlaced or progressive
    pixel aspect ratio
    file extension
    A quick way to get that type of information is knowing the brand/model/settings for the camera that recorded the video.
    2. Based on that information we can set manually a project preset to match those source property.
    3. When we go to export...example Publish+Share/Computer/ and your choice and its preset, we can customize the preset selected
    under the Advanced Button/Video Tab and Audio Tab of that preset in order to try for the best possible match between the properties of the
    original file and the properties of the export.
    But, please let us know if you also need help in trimming the original import at the Timeline level prior to export.
    Your mention of Publish+Share suggest that you are working with Premiere Elements 11, 12, or 13. What is the computer operating system?
    Thanks.
    ATR

  • Limit rows per page, include spacer and format last row on page break

    Hello,
    I am new to BI and would like some help with an issue I don't seem to be able to resolve?
    I have a table that uses two xml group elements (2nd nested inside first) to produce my detail lines.
    Example:-
    First for-each loop runs over shipto details and within this another for-each loop runs over items related to that shipto, all of which results in multiple detail lines.
    I need to limit the number of rows per page and should the data roll over to the next page I need to place a horizontal closing border on the first page's table (only using column borders).
    Also when the data does not fill the page I need to add spacer rows to the page limit?
    I have tried using examples found in these forums, position(), counters etc… but due to having the second detail loop I’m unable to get these working or I’m doing something wrong?
    Your help would be greatly appreciated.

    Hi BIPuser, thanks for the links.
    I have tried some of the examples which I can get working with a single level of detail lines. However when I add the second level of detail lines the position() function seems to fail as my rowlimit appears to be ignored.
    I am also unable to get the $lpp example working because the outer detail loop may only have one xml element and therefore BI assumes only one line is to be printed when in fact the inner xml element detail loop may have further multiple lines. I need to effectively count the outer & inner loops as one to determine the number of lines being processed.
    Example of xml - My table for detail lines needs to include both ShipTo & item number lines grouped as shown, thereby counting & outputting 7 lines in this instance.
    <INVOICE>
    <On_Ship_To_S23> Outer loop
    <On_itm_num_shr_row_S21> Inner Loop
    <On_itm_num_shr_row_S21>
    <On_itm_num_shr_row_S21>
    </On_Ship_To_S23>
    <On_Ship_To_S23>
    <On_itm_num_shr_row_S21>
    <On_itm_num_shr_row_S21>
    </On_Ship_To_S23>
    </INVOICE>

  • My Site UI breaks beyond a certain limit. However this issue doesn't exist on other browsers.

    On Our site I have huge product list page which exceeds 200 products. Each can hold 120px height. When the listing exceeds the 190th product, the HTML part stops redering(only plain text is renderd). However this works fine on other browsers.
    I am using latest version of firefox - 28.0.

    Hello,
    '''Try Firefox Safe Mode''' to see if the problem goes away. [[Troubleshoot Firefox issues using Safe Mode|Firefox Safe Mode]] is a troubleshooting mode that turns off some settings and disables most add-ons (extensions and themes).
    ''(If you're using an added theme, switch to the Default theme.)''
    If Firefox is open, you can restart in Firefox Safe Mode from the Help menu by clicking on the '''Restart with Add-ons Disabled...''' menu item:<br>
    [[Image:FirefoxSafeMode|width=520]]<br><br>
    If Firefox is not running, you can start Firefox in Safe Mode as follows:
    * On Windows: Hold the '''Shift''' key when you open the Firefox desktop or Start menu shortcut.
    * On Mac: Hold the '''option''' key while starting Firefox.
    * On Linux: Quit Firefox, go to your Terminal and run ''firefox -safe-mode'' <br>(you may need to specify the Firefox installation path e.g. /usr/lib/firefox)
    ''Once you get the pop-up, just select "'Start in Safe Mode"''
    [[Image:Safe Mode Fx 15 - Win]]
    '''''If the issue is not present in Firefox Safe Mode''''', your problem is probably caused by an extension, and you need to figure out which one. Please follow the [[Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems]] article to find the cause.
    ''To exit Firefox Safe Mode, just close Firefox and wait a few seconds before opening Firefox for normal use again.''
    When you figure out what's causing your issues, please let us know. It might help others with the same problem.
    Thank you.

  • How to break the limit of 128px for Desktop Icons?

    Also by hacking system files, I tried to modify /Users/username/Library/Preferences/com.apple.finder.plist but the values above 128px are still displayed as 128px.

    Thunderbird does not set limits. Your email provider does. Ask them.

  • Page break in Matrix report

    Hello Experts,
    I am trying to create a custom purchase order that shows shipping distributions.
    I have been successful so far in creating a matrix report that shows this. However, the client's requirement is that I limit the items to at least 10 items per page.
    I need to be able to create a page break to have 10 items per page and to have the header be included in the next page since the header includes the branches where the goods are supposed to be distributed.
    I have tried several things but I was not able to make it work.
    I can provide the xml and the rtf template if needed. Thank you.

    Hi Bifacts,
    Just sent the xml and rtf files your way. I appreciate any feedback you can give as I've been stuck on this for a while now.
    If anyone else can help out, it will be greatly appreciated!

  • How do I break my codes into classes??

    How do i break each tab into a class and call them inside a main program ??
    Please show me how thanks.
    import javax.swing.JTabbedPane;
    import javax.swing.ImageIcon;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.BorderFactory;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.print.*;
    import java.sql.*;
    import java.io.*;
    public class DatabaseApp extends JPanel {
         // declare the width and height of UI
         public static int WIDTH = 800;
         public static int HEIGHT = 600;
         // create textfield objects for user to enter the input
         TextField employeeID = new TextField(15);
         TextField name = new TextField(40);
         TextField address = new TextField(40);
         TextField suburb = new TextField(20);
         TextField state = new TextField(5);
         TextField pCode = new TextField(5);
         TextField dob = new TextField(15);
         TextField homePh = new TextField(15);
         TextField workPh = new TextField(15);
         TextField mobile = new TextField("0",15);
         TextField eMail = new TextField(30);
         TextField dbase = new TextField("employee",20);
         TextField report = new TextField(15);
         TextField query= new TextField(50);
         TextArea displayArea = new TextArea(16,80);
         TextArea helpArea = new TextArea(20,80);
         public static void main (String[] args) {
              JFrame frame = new JFrame ("S-League Management System");
              frame.addWindowListener(new WindowAdapter(){
                        public void windowClosing (WindowEvent e) {
                             System.exit(0);
              frame.getContentPane().add(new DatabaseApp(), BorderLayout.CENTER);
              frame.setSize(800,600);
              frame.setResizable(false);
              frame.setVisible(true);
              //centralise the screen
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              Dimension frameSize = frame.getSize();
              frame.setLocation((screenSize.width - frameSize.width) / 2,
                   (screenSize.height - frameSize.height) / 2);
         /** add buttons to the database form
         public JButton(String text,Icon icon)
         Creates a button with initial text and an icon.
         Parameters:
         text - the text of the button.
         icon - the Icon image to display on the button
         JButton newButton = new JButton (" New ", new ImageIcon(DatabaseApp.class.getResource("img/New.gif")));
         JButton addButton = new JButton (" Add ", new ImageIcon (DatabaseApp.class.getResource("img/Add.gif")));
         JButton findButton = new JButton (" Retrieve ", new ImageIcon (DatabaseApp.class.getResource("img/Find.gif")));
         JButton updateButton = new JButton (" Update ", new ImageIcon (DatabaseApp.class.getResource("img/Refresh.gif")));
         JButton deleteButton = new JButton (" Delete ", new ImageIcon (DatabaseApp.class.getResource("img/Delete.gif")));
         JButton submitButton = new JButton (" Submit Query ", new ImageIcon (DatabaseApp.class.getResource("img/Export.gif")));
         JButton reportButton = new JButton (" Report File ", new ImageIcon (DatabaseApp.class.getResource("img/AlignLeft.gif")));
         /** create tabbed pane for form
         * public void addTab(String title,Icon icon,Component component,String tip)
         * Parameters:
         * title - the title to be displayed in this tab
         * icon - the icon to be displayed in this tab
         * component - The component to be displayed when this tab is clicked.
         * tip - the tooltip to be displayed for this tab
         public DatabaseApp() {
              // create new tabbedPane object
              JTabbedPane tabbedPane = new JTabbedPane(){
                   ImageIcon imageIcon = new ImageIcon("img/logo.jpg");
                   Image image = imageIcon.getImage();
                   public void paintComponent (Graphics g) {
                        g.setColor(new Color(220,220,220));
                        g.fillRect(0,0,643,74);
                        g.drawImage(image, 0, 4, this);
                        super.paintComponent(g);
              tabbedPane.addTab(" Team Management ",null, buildQueryPanel(), "Team Management");
              tabbedPane.addTab(" Player Registration ",null, buildGeneralPanel(), "Player Registration");
              tabbedPane.addTab(" Author ",null, buildAuthorPanel(), "Author");
              // assign layout manager
              //setLayout(new GridLayout(1,1));
              tabbedPane.setSelectedIndex(1);
              tabbedPane.setBorder(BorderFactory.createEmptyBorder(78,0,0,0));
              add(tabbedPane);
         protected JPanel buildQueryPanel() {
              JPanel mainPane = new JPanel();
              // divided into three panes. these panes will be added to mainPanel
              JPanel westPane = new JPanel();
              JPanel centrePane = new JPanel();
              JPanel southPane = new JPanel();
              // assign the layout managers
              mainPane.setLayout(new BorderLayout());
              westPane.setLayout(new GridLayout(4,1));
              centrePane.setLayout(new GridLayout(4,1));
              // create array of Panels for label textfield and buttons and make them left align
              Panel labelPane[] = new Panel[4];
              Panel buttontxtPane[] = new Panel[4];
              Panel textPane[] = new Panel[1];
              for (int i=0; i < labelPane.length; ++i) {
                   labelPane[i] = new Panel();
                   labelPane.setLayout(new FlowLayout(FlowLayout.LEFT));
              for (int i=0; i < buttontxtPane.length; ++i) {
                   buttontxtPane[i] = new Panel();
                   buttontxtPane[i].setLayout(new FlowLayout(FlowLayout.LEFT));
              for (int i=0; i < textPane.length; ++i) {
                   textPane[i] = new Panel();
                   textPane[i].setLayout(new FlowLayout(FlowLayout.LEFT));
              // add different label to the labelPane
              labelPane[0].add(new JLabel("Database:"));
              labelPane[1].add(new JLabel("Query:"));
              labelPane[2].add(new JLabel("Report File:"));
              labelPane[3].add(new Label(""));
              // textfields
              buttontxtPane[0].add(dbase);
              buttontxtPane[1].add(query);
              buttontxtPane[2].add(report);
              // buttons
              buttontxtPane[3].add(submitButton);
              submitButton.setMnemonic('s');
              buttontxtPane[3].add(reportButton);
              reportButton.setMnemonic('r');
              // text area to view the result
              textPane[0].add(displayArea);
              // add action listener to buttons
              submitButton.addActionListener(new ButtonHandler());
              reportButton.addActionListener(new ButtonHandler());
              for(int i=0; i < labelPane.length; ++i)
                   westPane.add(labelPane[i]);
              for(int i=0; i < buttontxtPane.length; ++i)
                   centrePane.add(buttontxtPane[i]);
              for(int i=0; i < textPane.length; ++i)
                   southPane.add(textPane[i]);
              mainPane.add(westPane, BorderLayout.WEST);
              mainPane.add(centrePane, BorderLayout.CENTER);
              mainPane.add(southPane,BorderLayout.SOUTH);
              return mainPane;
         /**Create a JPanel for General tab, divide it into three JPanels for label, displaytext
         * and buttons.Assign a Flowlayout manager to each panel. Add label, textfield
         * and buttons to respective panel. following constructors will be used
         * for Jlabel
         * public JLabel(String text)
         * Creates a JLabel instance with the specified text. The label is aligned against the leading edge of its display area, and centered vertically.
         * Parameters:
         * text - The text to be displayed by the label.
         protected Component buildGeneralPanel() {
              // main panel
              JPanel mainPanel = new JPanel();
              // divided into three panes. these panes will be added to mainPanel
              JPanel westPane = new JPanel();
              JPanel centrePane = new JPanel();
              JPanel southPane = new JPanel();
              // assign the layout managers
              mainPanel.setLayout(new BorderLayout());
              westPane.setLayout(new GridLayout(12,1));
              centrePane.setLayout(new GridLayout(12,1));
              // create array of Panels for label textfield and buttons and make them left align
              Panel labelPane[] = new Panel[12];
              Panel textPane[] = new Panel[12];
              Panel buttonPane[] = new Panel[2];
              for (int i=0; i < labelPane.length; ++i) {
                   labelPane[i] = new Panel();
                   labelPane[i].setLayout(new FlowLayout(FlowLayout.LEFT));
              for (int i=0; i < textPane.length; ++i) {
                   textPane[i] = new Panel();
                   textPane[i].setLayout(new FlowLayout(FlowLayout.LEFT));
              for (int i=0; i < buttonPane.length; ++i) {
                   buttonPane[i] = new Panel();
                   buttonPane[i].setLayout(new FlowLayout(FlowLayout.LEFT));
              // add different label to the labelPane
              labelPane[0].add(new JLabel("Employee No"));
              labelPane[1].add(new JLabel("Name"));
              labelPane[2].add(new JLabel("Address"));
              labelPane[3].add(new JLabel("Suburb"));
              labelPane[4].add(new JLabel("State"));
              labelPane[5].add(new JLabel("PostCode"));
              labelPane[6].add(new JLabel("Date of Birth"));
              labelPane[7].add(new JLabel("Home Phone"));
              labelPane[8].add(new JLabel("Work Phone"));
              labelPane[9].add(new JLabel("Mobile"));
              labelPane[10].add(new JLabel("E-mail"));
              // add textfield component to textPane
              textPane[0].add(employeeID);
              textPane[1].add(name);
              textPane[2].add(address);
              textPane[3].add(suburb);
              textPane[4].add(state);
              textPane[5].add(pCode);
              textPane[6].add(dob);
              textPane[7].add(homePh);
              textPane[8].add(workPh);
              textPane[9].add(mobile);
              textPane[10].add(eMail);
              // add button to buttonPane and assign keyboard key for shortcut e.g Alt + n
              buttonPane[0].add(newButton);
              newButton.setMnemonic('n');
              buttonPane[0].add(addButton);
              addButton.setMnemonic('a');
              buttonPane[0].add(findButton);
              findButton.setMnemonic('r');
              buttonPane[0].add(updateButton);
              updateButton.setMnemonic('u');
              buttonPane[0].add(deleteButton);
              deleteButton.setMnemonic('d');
              // add actionlistener to the buttons
              newButton.addActionListener(new ButtonHandler());
              addButton.addActionListener(new ButtonHandler());
              findButton.addActionListener(new ButtonHandler());
              updateButton.addActionListener(new ButtonHandler());
              deleteButton.addActionListener(new ButtonHandler());
              for (int i = 0; i < labelPane.length; ++i)
                   westPane.add(labelPane[i]);
              for (int i = 0; i < textPane.length; ++i)
                   centrePane.add(textPane[i]);
              for (int i = 0; i < buttonPane.length; ++i)
                   southPane.add(buttonPane[i]);
              mainPanel.add(westPane,BorderLayout.WEST);
              mainPanel.add(centrePane,BorderLayout.CENTER);
              mainPanel.add(southPane,BorderLayout.SOUTH);
              return mainPanel;
         protected JPanel buildAuthorPanel(){
              JPanel authorPanel = new JPanel();
              JPanel authorPane = new JPanel();
              authorPanel.setLayout(new BorderLayout());
              authorPane.setLayout(new GridLayout(9,1));
              Panel pane[] = new Panel[9];
              for (int i=0; i < pane.length; i++) {
                   pane[i] = new Panel();
                   pane[i].setLayout(new FlowLayout(FlowLayout.CENTER));
              pane[0].add(new JLabel(""));
              pane[1].add(new JLabel(""));
              pane[2].add(new JLabel(""));
              pane[3].add(new JLabel(""));
              pane[4].add(new JLabel("Name:Jasper Lim Jiqiang"));
              pane[5].add(new JLabel("Admin:992365G"));
              pane[6].add(new JLabel(""));
              pane[7].add(new JLabel(""));
              pane[8].add(new JLabel(""));
              for (int i=0; i < pane.length; i++)
                   authorPane.add(pane[i]);
              authorPanel.add(authorPane, BorderLayout.CENTER);
              return authorPanel;

    Maybe something like this:
    <code>
    JTabbedPane tabbedPane = new JTabbedPane();
              JPanel introPanel = new JPanel();
              introPanel.add(createIntroPanel());
              ImageIcon img = new ImageIcon(getResourceString("tabIconFile"));
              tabbedPane.addTab(getResourceString("introTab"), img, introPanel);
    </code>
    plus
    <code>
    protected JPanel createIntroPanel()
              JPanel pane = new IntroPanel();
              return pane;
    </code>
    Klint

  • DL Break Point Issue - Please Help.

    Hello,
    I use to work in DVDSP when you could only do one layer and even then I knew just enough to get the job done. Now I have a program that is 6.6 gigs total size (according to DVDSP) and I can't get this thing to find the break point. I have read through most of the manual regarding this issue and have read many posts - first I have to ask is why is this so difficult?
    Here are the issues in detail and I ask that if you give input please guide me like I have limited knowledge in this.
    I am using DVDSP 4.1.0 on a G5 Dual 1.8 OS is 10.4.8 with a Pioneer DVR 111D. I have 4 'tracks' all coming off one main menu...no sub menu's - so I have the one main and four buttons that go directly to the videos. When I try to 'burn' the DVD I get this error 'Formatting was not successful. A suitable marker could not be found in the required layer break range. See the DVD Studio Pro User's Manual for more information.' The size of each track is as follows:
    Track One: The Main footage is 4.0 Gig (this is the one I am trying to set the break point because the limit is 3.9 Gig)
    Track Two: is 1.7 Gig
    Track Three: 606 Meg
    Track Four: 216 Meg
    I have tried 'Automatic' without luck.
    I have tried to place a few markers approximately 3/4 of the way through Track One the marker that I place is Green and in the Inspector window when I click on that marker I see the 'Marker Function' and then the button to select Dual-Layer Break Point and I select that only. However when I click something else and then come back to Marker the Dual Layer Break Point is not selected!
    I then have gone into the 'Disc/Volume' and tried to select the 'Break Point' and chose Track One but still nothing. I have read in the forums about building the disc and then going into the TS folders and blah blah blah to get this done but that is above my head and I don't understand it.
    I just need to get this video done. It is for a family who's 17 daughter was tragically killed and will be a fund raiser for them...I need to get this done. So if any of you are willing to help that would be SO appreciated AND if any of you would be so kind to walk me through this over the phone THAT WOULD BE GREAT! Just email me at [email protected] and I will email you my number. I know this is a tad different but I don't have much time left to get this done because of my 'real job' and again, I need to get this done!

    Hi csiaudio,
    Build the project (AltAppleC). Then in the format window (Apple+F), Disc/Volume tab you'll be able to see the available break point markers. If they are all greyed out then you do not have one in the project.
    Add Cell markers in places that you think would be ok as the layer switch. You do this by adding a chapter marker and then in the property inspector un-checking the type Chapter. This will now be a marker that can be used as a dual layer break point but is not a chapter marker.
    You'll need to re-build the project and check the format window options again,
    -Jake

  • Mac Pro keeps throwing my breaker!

    I used to have a Dual 2.0 Power Mac G5. I got rid of it and replaced it with a new Dual 2.66 Mac Pro, plugging it into the exact same location using a UPS.
    I thought the Mac Pro used less power (which is why there are less fans), so I was very surprised when I turned the machine on the third or fourth time yesterday (I was trying to get the firmware update to work) and everything in the room turned off. Fortunately, the Mac Pro was plugged into the UPS, so I had time to run out and reset the breaker in the garage.
    Since then it has happed two or three more times, once even while simply trying to wake the computer from sleep.
    I would assume this is not normal. Is this a problem with the computer? It never happened with the G5.

    Had the same problem with my iMac G5. What I learned is that the total ampere of the circuit if it is greater than 12 Amps usually needs a dedicated circuit. A typical peripheral needs an additional 1 Amp. Look at the specs for the machine and all the devices hooked into the UPS, and the UPS limit itself.
    Looking at:
    http://www.apple.com/macpro/specs.html
    It appears the MacPro needs a maximum current of 12 Amp. So there's your issue! Put the Mac Pro on its own outlet, and everything else on a different circuit unless you want a dedicated circuit.
    Contact your electrician and ask them what is the maximum amp of your circuits.

Maybe you are looking for

  • Getting portal run time error

    Hi, I have just finished installing the SP Netweaver 2004 SPS13 Rapid Installer on Solaris Box When i try to login thorugh the portal by the url. http://ctsa-sol-12:50000/irj/portal/ I get the follwing error An exception occurred while processing a r

  • Two related questions: using htmldb_Get to call stored procedure and passing in an array of items

    I have the need to save dynamically generated ApEx items via AJAX.  I am using APEX_ITEM API to generate the items.  At run-time, I have no idea how many of items will be generated on the page, but I know that they will all have discreet and distinct

  • Stuck at 3.3ghz`

    hey my cpu is running at 3.3ghz but i want it to run at 3.0ghz (cos me sound doesnt work wen its at 3.3). i tried to change it using core center, and nothing happened, i tried to change it with my bios, nothing happened. ive tried everything i can th

  • What Hardware do I need ?

    I have a Power Mac G4 Tower running OS 10.4.11. I also have a camcorder that only has composite video (analog) and Analog Audio. I want to be able to move movies from the camcorder to iMovie and then make DVDs to run on my G4 or another computer. I h

  • Crystal Reports and Windows 7 compatibility

    Is CR 10 compatible with Windows 7? If not, what CR version compatible with Windows 7?