How to Abort a non-looped case (Tescom ER3000 Controller)

I have a nicely stable app that covers almost any contingency or anomaly in operation but one is crawling under my skin.  I am using a Tescom ER3000 regulator controller to control a back-pressure regulator on a testing stand.
When all works as it is supposed to, there is never an issues but occasionally my unit under test may fail to activate and when this occurs, the Tescom supplied driver becomes hung, waiting to fulfill the command sent to it. The Tescom driver uses a call library function node to access the various options. 
I am trying to figure out a way to put the root call (the call library node function) inside a case structure (not a loop) so that if it reaches a certain time limit, completed or not, it aborts the operation and exits the case.
I have attached the specific vi in question along with the library files (zipped) and the typedef's (zipped) required to run the vi.  The actual ER3000 driver may also be required to run and I can upload that as well but it will certainly be larger in size.
Any help with this is appreciated.
Doug
Doug
"My only wish is that I am capable of learning each and every day until my last breath."
Attachments:
ER3000 Driver.vi ‏17 KB
TESCOM lvlib.zip ‏40 KB
ER3000 Driver.zip ‏5 KB

The lvlib that you uploaded is just the lvlib container. There are no VIs within that zip file. Not that it really matters in this case, though ...
Once the thread has left LabVIEW and gone into a DLL there's no way to abort it unless the DLL has some sort of aborting mechanism. Trying to abort the calling VI won't work until the DLL call returns. The only surefire way to do this is to run the DLL in a completely independent process - and I mean a full-blown separate process, not a separate VI. This way you can use the OS to abort that process.
I would suggest contacting the developer of the DLL informing them of this situation and asking whether an abort/timeout mechanism can be added to the DLL. 

Similar Messages

  • How do I use For loop to check each node and import them to a new document?

    In my function I would like to use a For loop to get all the statutes (xml) inside the object
    objXmlBcaResponseDoc. In my case there are 2 statutes. I would like the output to look like the one I have posted here below. I am not sure how to do the For loop. The commented For loop is from another function but it is not working inside
    this function.
    The output is added into the **objXmlResponseMessageDoc** object and should look like this with 2 statutes (ns1:Statute) and a totalCount=2
    <BasicSearchQueryResponse xmlns="http://crimnet.state.mn.us/mnjustice/statute/service/4.0">
    <StatutesXml>
    <Statutes runType="Request" runDateTime="2015-03-17T10:23:04" totalCount="2">
    <ns1:Statute xmlns:ns1="http://crimnet.state.mn.us/mnjustice/statute/messages/4.0">
    <StatuteId xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">8471</StatuteId>
    <Chapter xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">60</Chapter>
    <Section xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">55</Section>
    <Subdivision xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>
    </ns1:Statute>
    <ns1:Statute>
    <StatuteId xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">9722</StatuteId>
    <Chapter xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">90</Chapter>
    <Section xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">25</Section>
    <Subdivision xsi:nil="true" xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>
    </ns1:Statute>
    </Statutes>
    </StatutesXml>
    </BasicSearchQueryResponse>
    My xml doc is found inside objXmlBcaResponseDoc Here is xml inside
    objXmlBcaResponseDoc object
    <BasicSearchQueryResponse xmlns="http://crimnet.state.mn.us/mnjustice/statute/service/4.0">
    <ns1:Statutes xmlns:ns1="http://crimnet.state.mn.us/mnjustice/statute/messages/4.0">
    <ns1:Statute>
    <StatuteId xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">8471</StatuteId>
    <Chapter xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">60</Chapter>
    <Section xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">55</Section>
    <Subdivision xsi:nil="true" xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>
    </ns1:Statute>
    <ns1:Statute>
    <StatuteId xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">9722</StatuteId>
    <Chapter xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">90</Chapter>
    <Section xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0">25</Section>
    <Subdivision xsi:nil="true" xmlns="http://crimnet.state.mn.us/mnjustice/statute/4.0"/>
    </ns1:Statute>
    </BasicSearchQueryResponse>
    Here is my function
    Function GetStatutesByChapter(ByVal aobjXmlGetStatuteRequestNode As XmlNode, ByVal aobjXMLNameSpaceManager As XmlNamespaceManager, ByVal aobjBroker As ServiceCatalog.Library.v4.Broker) As XmlDocument
    Dim objXmlRequestMessageDoc As XmlDocument
    Dim objXmlResponseMessageDoc As XmlDocument
    Dim intCount As Integer
    aobjBroker.PostMessageWarehouseInformationalMessage("Chapter found.", 1)
    objXmlResponseMessageDoc = New XmlDocument
    'Add the first element into the document GetStatuteByChapter with its namespace
    objXmlResponseMessageDoc.AppendChild(objXmlResponseMessageDoc.CreateElement("BasicSearchQueryResponse", "http://crimnet.state.mn.us/mnjustice/statute/service/4.0"))
    'Build the initial response document
    objXmlResponseMessageDoc = New XmlDocument
    'Add the first element into the document GetStatutesResponse with its namespace
    objXmlResponseMessageDoc.AppendChild(objXmlResponseMessageDoc.CreateElement("GetStatutesResponse", "http://www.courts.state.mn.us/StatuteService/1.0"))
    'Add a child node to the GetStatutesResponse node
    objXmlResponseMessageDoc.SelectSingleNode("ss:GetStatutesResponse", aobjXMLNameSpaceManager).AppendChild(objXmlResponseMessageDoc.CreateElement("StatutesXml", "http://www.courts.state.mn.us/StatuteService/1.0"))
    objXmlResponseMessageDoc.SelectSingleNode("ss:GetStatutesResponse/ss:StatutesXml", aobjXMLNameSpaceManager).AppendChild(objXmlResponseMessageDoc.CreateElement("Statutes", "http://www.courts.state.mn.us/StatuteService/1.0"))
    'Convert the node Statutes into an element and set the runType attribute (runType="Request") by adding it's value Request
    CType(objXmlResponseMessageDoc.SelectSingleNode("ss:GetStatutesResponse/ss:StatutesXml/ss:Statutes", aobjXMLNameSpaceManager), System.Xml.XmlElement).SetAttribute("runType", "Request")
    'Convert the node Statutes into an element and set the attribute (runDateTime="2015-03-05T10:29:40") by adding it
    CType(objXmlResponseMessageDoc.SelectSingleNode("ss:GetStatutesResponse/ss:StatutesXml/ss:Statutes", aobjXMLNameSpaceManager), System.Xml.XmlElement).SetAttribute("runDateTime", Format(Now, "yyyy-MM-ddTHH:mm:ss"))
    'Create the BCA request message
    objXmlRequestMessageDoc = New XmlDocument
    objXmlRequestMessageDoc.AppendChild(objXmlRequestMessageDoc.CreateElement("ns:BasicSearchQueryRequest", aobjXMLNameSpaceManager.LookupNamespace("ns")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns1:BasicSearchCriteria", aobjXMLNameSpaceManager.LookupNamespace("ns1")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Chapter", aobjXMLNameSpaceManager.LookupNamespace("st")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Section", aobjXMLNameSpaceManager.LookupNamespace("st")))
    objXmlRequestMessageDoc.SelectSingleNode("ns:BasicSearchQueryRequest/ns1:BasicSearchCriteria", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns2:Subdivision", aobjXMLNameSpaceManager.LookupNamespace("st")))
    'Uncomment last working section below
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Chapter", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Chapter", aobjXMLNameSpaceManager).InnerText
    'check if there is a section and or subdivision if it is there then set the value
    If Not (aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager) Is Nothing) Then
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Section", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Section", aobjXMLNameSpaceManager).InnerText
    End If
    If Not (aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Subdivision", aobjXMLNameSpaceManager) Is Nothing) Then
    objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns1:BasicSearchCriteria/st:Subdivision", aobjXMLNameSpaceManager).InnerText = aobjXmlGetStatuteRequestNode.SelectSingleNode("ss:Statute/ss:Subdivision", aobjXMLNameSpaceManager).InnerText
    End If
    'check if there is a section and or subdivision if it is there then set the value
    aobjBroker.PostMessageWarehouseSnapshot(objXmlRequestMessageDoc.OuterXml, "Request Message", 1)
    'Call the BCA service
    intCount = 0
    'This is where I want to use a For loop to check for the statutes found using the Chapter
    'Loop through each Id
    'For Each objXmlStatuteIdNode In aobjXmlGetStatuteRequestNode.SelectNodes("ss:Statute/ss:StatuteId/ss:Id[string-length(.)>0]", aobjXMLNameSpaceManager)
    'Create the BCA request message
    'objXmlRequestMessageDoc = New XmlDocument
    'objXmlRequestMessageDoc.AppendChild(objXmlRequestMessageDoc.CreateElement("ns:SingleStatuteRequest", aobjXMLNameSpaceManager.LookupNamespace("ns")))
    'objXmlRequestMessageDoc.SelectSingleNode("ns:SingleStatuteRequest", aobjXMLNameSpaceManager).AppendChild(objXmlRequestMessageDoc.CreateElement("ns:statuteId", aobjXMLNameSpaceManager.LookupNamespace("ns")))
    'objXmlRequestMessageDoc.DocumentElement.SelectSingleNode("ns:statuteId", aobjXMLNameSpaceManager).InnerText = objXmlStatuteIdNode.InnerText aobjBroker.PostMessageWarehouseSnapshot(objXmlRequestMessageDoc.OuterXml, "Request Message", 1)
    'intCount = intCount + 1
    'objXmlBcaResponseDoc = New XmlDocument
    'File name is BCASearchQueryResponse.xml
    'objXmlBcaResponseDoc.Load("\\j00000swebint\mscapps\deve\appfiles\temp\BCASearchQueryResponse.xml")
    'objXmlResponseMessageDoc.DocumentElement.SelectSingleNode("ss:StatutesXml/ss:Statutes", aobjXMLNameSpaceManager).AppendChild(objXmlResponseMessageDoc.ImportNode(objXmlBcaResponseDoc.DocumentElement.SelectSingleNode("ns1:Statute", aobjXMLNameSpaceManager), True))
    'Next
    'Count how many Statute nodes found
    CType(objXmlResponseMessageDoc.SelectSingleNode("ss:BasicSearchQueryResponse/ss:StatutesXml/ss:Statutes", aobjXMLNameSpaceManager), System.Xml.XmlElement).SetAttribute("totalCount", CStr(intCount))
    Return objXmlResponseMessageDoc
    End Function

    What is XPath and what does it do that you're impressed with?
    Yes, I see your link, but give me the abbreviated elevator speech on what it is please. It has me curious.
    http://searchsoa.techtarget.com/definition/XPath
    http://www.techrepublic.com/article/easily-navigate-xml-with-vbnet-and-xpath/
    http://www.techrepublic.com/article/using-xpath-string-functions-in-xslt-templates/
    The way that all this is being used by me now on a project is the HTML controls on the screen are built by XML not only about what the controls are and their attributes,   but the data from from the database is XML too with both going through transfermations
    vis XSLT as the HTML controls are built dynamically by XML data for the controls and the XML database data with decision being made in the transfermation on the fly.
    There are many usages with Xpath not just this one I am talking about with Xpath. You can do the same kind of thing with XAML and WPF forms as they are dynamically built. But it goes well beyond what I am talking about and the usage of Xpath. Xpath 3.0
    is the latest version. 
    http://www.balisage.net/Proceedings/vol10/html/Novatchev01/BalisageVol10-Novatchev01.html
    Thanks - I'll look into that at some point.
    Still lost in code, just at a little higher level.

  • How to come out of loop at last record?

    As I told in my previous posts,Iam transferring data from excel to zgkmaster tabel
    table structure:
    eid
    ename
    First I did SHDB(recording) and then made my BDC program.There are 10 records in table with names gopi,hari,rajesh.... with eid 1 to 10.My task is to updated all these names to 'XXX' for all 10 records (just for simple purpose).In my program I called 'Call transaction 'se11' using ptable mode 'A'.I moved from first screen to last screen (where you will update XXX and save for each record').Here:
    Loop at ptable into otable
    perform screens using <program name> <number> 'X'
    perform fields using zgkmaster-ename , otable-ename
    perform fields using 'BDC_OKCODE' , 'SAVE'
    perform screens using <program name> <number> 'X'
    perform fields using 'BDC_OKCODE' , 'NEXT'
    endloop.
    This code works fine in 'A' mode,but at last record a message comes 'Function code cannot be selected' (i think 'next' cannot be executed as it is last record) but all records are updated.
    When the mode is changed to 'N' and 'E',nothing is saved and the same error 'Function code cannot be selected'.Due the this error whatever data we give before that is not saving into table,may be due to this error.
    Now how shoud i make the loop exit when it reaches last record,i tried even with hardcording
    if sy-index = 10.
    leave prograam'
    endif.
    perform.....'NEXT' statement
    But the program is not exiting,I dont know why?Can anyone help me,I think if i made the loop to exit before next statement for last record that error will not occur.advise me if anything wrong.
    Thanks in advance
    The problem is that
    endloop

    Hi..
    1. To Terminate the LOOP in Last record.
        LOOP AT ITAB.
            << PROCESSING LOGIC>>
             AT LAST.
               EXIT.
             ENDAT.
        ENDLOOP.
    2. It is necessary to Declare the Internal table with same structure as the Excel file
    3. It is not necessary to call the Screen Explicitly before filling the BDCDATA record.
        If you want to process the Screen Twice the Fill the SAME SCREEN twice in BDCDATA Table and set the DYNBEGIN = 'X' in both the cases.
    REWARD IF HELPFUL.

  • How to create an infinite loop that cannot be cancelled?

    Hi , im new around java and i need a program that keeps on repeating after each each input/uses(generally meant for different user) and cannot either stop using "Cancel" or "x" while stopping only using the "stop" button
    I got a few lines of codes that look like this : String arg = "";
    do{
    JOptionPane.showInputDialog("hi");
    }while ( arg != "y" || arg!= "Y");
    and it cannot be stop with both cancel and"x"(which i wanted)
    but when i used this logic with
    Valid validUserInput = new Valid();
    do {
    userInput = validUserInput.validUserInput(a);
    switch(userInput){
    case 1 : validUserInput.optionOne(b);break;
    case 2 : validUserInput.optionTwo(c);break;
    case 3 : validUserInput.optionThree(d,e);break;
    default : validUserInput.validUserInput(f);
    }while(looping != "" || looping != " ");
    it does not really work(while it will keep looping, it can be easily stop by pressing cancelled or "x")
    So is there any logic or method that can prevent the program from being stop?
    Thankyou!

    elricscript wrote:
    "That is helpful. It gives him a direction where he can focus his research. Namely, 'how to run a program in kiosk mode' rather than 'how to create an infinite loop that cannot be cancelled.'"
    No... He already mentioned he wants to "e.g Interactive kiosk", so saying "properly kiosk it" isn't adding any new information. Rather it's just giving the person a dead point of: you're doing it wrong. Pointing out someone is wrong is not a positive enlightenment. Pointing someone in the right direction is more productive.
    >"That is helpful. It gives him a direction where he can focus his research. Namely, 'how to run a program in kiosk mode' rather than 'how to create an infinite loop that cannot be cancelled.'"
    No... He already mentioned he wants to "e.g Interactive kiosk", so saying "properly kiosk it" isn't adding any new information.
    Yes it is. He asked how to do it using some Swing trickery, and I said it won't work. Which is true. The OP didn't already know that, clearly, hence the question. Now he does. That's pretty much new information if you ask me.
    Rather it's just giving the person a dead point of: you're doing it wrong.Right. He is. However, the problem is now no longer related to Java, and not something I can help him with. You should try that: not answering questions you don't know the answer to. It's actually more helpful than posting misleading, wrong answers.
    Pointing out someone is wrong is not a positive enlightenment. I'm giving basic technical help, not yoga lessons.
    Pointing someone in the right direction is more productive.As already stated, I am as ignorant of how to make a Java application into a kiosk app as the OP is. What value can I add in light of that information? I began by answering a question that was not stated to be about kiosks. Once the question moved outside of my area of knowledge, I stopped trying to answer.
    I notice you're not giving him any help, being more interested in admonishing others as you are.

  • How many DAQ tasks per loop?

    Hi to everybody, I hope anybody can help me with the next case:
    I am working on a system in which I have to read signals of 5 different sensors which have different ways to communicate (4 - 20 mA, voltage, RS-232, ModBUS, etc.) with the DAQ Device (cDAQ in my case), at same time when I am reading the variables I must check for the state of several digital inputs to verify connections and if any is interrupt I must stop the Data Acquisition.
    My question is if is recommendable to put all the tasks in a single loop with the logic shown in the attached image.
    Or if I should divide the tasks in a multiple loop architecture.
    If the answer is the second, my next question is: How many DAQ tasks per loop is OK?, my doubt is based on the number of variables that I am going to read
    and the different ways to get the measures, specially which are by protocols (ModBUS, RS-232), all this by the response time.
    Thanks in advance, all suggestions are welcome!

    I would recommend using a loop just for control and UI events.  It should only have an event structure.  Don't use the timeout case, since that just turns the system into a polling.  Use Queues to send data from the controller loop to your other loops and User Events to send data back to the controller looop.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to create a non editable PDF

    How to create a non editable PDF in PDF writer 5 & 6 Professional.

    There was a PDF Writer driver available in AA 5 (not in AA 6). It was part of the custom install and was not recommended for use. In AA 5, the Acrobat Distiller printer was preferred. In AA 6, the name was changed to the Adobe PDF printer. In any case, once you have the PDF, open the PDF in Acrobat and go to the document properties. Select the security options to restrict changes and/or extracting text. The security is not all that robust, but works for most folks.

  • How to abort subvi in subpanel?

    Hi is there anyone who knows how to abort and close the sub-vi inside the subpanel
    while the main.vi  or sub-panel is still running and able to open the another sub-vi again?

    Hi. Here are 2 attached. They are simple. First I created one that increments the number throught out the loop inside the subpanel.till it is stopped by button outside the subpanel. . However, there are two problems that do not work right. One, the loop stops at 2 or 3 even the button is not pressed outside sunpanel. Maybe due to notifier communications. Two, vi inside the subpanel cannot be stopped and removed.
    So how do I do about it. There are no good examples shipped with LV.
    Clement
    Attachments:
    abort vi in subpanel by notifier.vi ‏42 KB
    continous increment.vi ‏23 KB

  • How do I make apples loops that show up in the loop browser

    How do I make apples loops from my audio files that show up in the loop browser, and where do they reside on the computer so that I know they are there.

    Refer to Logic manual page 848 where it is well explained.
    Regarding the path you can search:
    localdrive\Users\your_ user_account\Library\Audio\Apple Loops\User Loops
    !http://img59.imageshack.us/img59/4967/aglogo45.gif!

  • How do you add non-Garage band instruments into a Logic project so that you can hear them on playback?

    How do you add non-Garage band instruments (orchestral instruments) into a Logic Pro (8) project so that you can hear those insrtruments' sounds on playback?  I've tried to understand and follow the Logic Pro 8 User Manual, but the process comes off as so complex and the writing so technical that it does not help but only confuses.
    To be precise - I want to add instruments (orchestral) that are not offered in the current Garage band menu which is offered in the Mixer's channel strip menus for Logic Pro 8.  To be clear, the instruments that are offered are Bass / Drum Kits / Guitars / Mallets / Organs / Pianos and Keyboards / Synth Basics / Synth Leads / Synth Pads.  Most of these that I've tried seem to work and give their characteristic sound when placed in a particular channel and playback is clicked. 
    However - there is one orchestra instrument offered in the standard Logic Pro 8 Mixer channel menu and it's the item labelled "Performance - 000 flute 1 or 001 flute 1."  And it is this instrument that presents a problem. When I click on it and choose it from the menu and enter it as the instrument of choice for a specfic channel / track in my Logic Pro project arrangement, when playing back the music for the overall piece this particular track, the flute, does not playback and produce the notes (Midi events) in the track in the sound of the flute.  Instead, nothing comes out at all.  I can't imagine why this does not work.  Any ideas, anyone? Again, when choosing this instrument for a track and clicking the playback no flute sound is forthcoming.  Why not? I have not tried them all, but when most of the other various types of keyboards, such as an electric piano or an organ, are chosen for a track the playback successfully renders the sound of these instruments.  Why then does playback not produce the sound of the flute when it has clearly been chosen to play and sound the Midi events given it?
    Anyway, the overall, larger issue for me is the inability I have to choose and get non-Garageband instruments (largely orchestral) to play the Midi events given on various tracks. If my guess is correct then technically, orchestral instruments not offered in the standard Logic Pro 8 Garageband Mixer channel menu are referred to as external Midi sampled instruments - still, IMHO the process is not clearly spelled out in the User Manual.  The simple step by step process whereby a non-Garage band instrument, say an orchestral instrument, is placed in a channel replete with Midi event (notes) waiting to be played should be easy, logical and given in a simple to follow format, but is not.
    What with all the talk of routes, busses, auxillary channels, GM devices, GM mixers, audio bins, libraries and audio files this Logic Pro User is confused to the max.  Can someone please help me and, in simple English, describe the step by step process whereby presumably external sampled orchestral instruments can be successfully employed, in any given Logic Pro arrangement project, to render their characteristic sounds upon playback?
    On my two Macs, one a laptop and one a much larger Mac, I have any number of the GSO (Garritan Symphony Orceshtra) and Vienna Symphony Orchestra instrument library samples - and yet - I've yet to figure out how to actually get them INTO a Logic Pro project of any kind!  To put this as a question, even as a humble request, how can I make good use of these orchestral sample libraries in a Logic Pro project?  Can someone steer my to a clear resolution of this issue.  I'd sincerely appreciate it!  Thanks all! 
    DavidBacon

    DavidBacon wrote:
    Anyway, the overall, larger issue for me is the inability I have to choose and get non-Garageband instruments (largely orchestral) to play the Midi events given on various tracks. If my guess is correct then technically, orchestral instruments not offered in the standard Logic Pro 8 Garageband Mixer channel menu are referred to as external Midi sampled instruments - still, IMHO the process is not clearly spelled out in the User Manual.  The simple step by step process whereby a non-Garage band instrument, say an orchestral instrument, is placed in a channel replete with Midi event (notes) waiting to be played should be easy, logical and given in a simple to follow format, but is not.
    What with all the talk of routes, busses, auxillary channels, GM devices, GM mixers, audio bins, libraries and audio files this Logic Pro User is confused to the max.
    David,  you understand that this is professional software and is not necessarily meant to be easy but is in fact designed to give the professional user as many choices as possible, that's why it's in the Pro Apps section. You WILL need to learn about buses, GM Devices, Audio Bins, Libraries...etc..etc if you intend to use Logic.
    That said, you are looking in the wrong place in the channel strip.
      May I offer you advice?
    Go here:
    http://documentation.apple.com/en/logicpro/
    Open "Exploring Logic Pro"  (a short PDF Document). Pay special attention to chapter 3. Also pay special attention to the included graphics of the channel strips.
    I encourage you to read the whole document as it will clear up many things... even though it's a Logic 9 document.
    Post back

  • How to set  up the loop?

    I am trying to create a Frame, using BorderLayout and every time we click the center button, it will change the color in one of the region. But I dont know how to set up the loop to make it change one at a time. Below is my draft......Thanks for helping.......
    Test.java
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Test extends Applet implements ActionListener
              Color []color={Color.red,Color.blue,Color.black,Color.green};
              private Button nb=new Button("North Button");
              private Button sb=new Button("South Button");
              private Button eb=new Button("East Button");
              private Button wb=new Button("West Button");
              private Button cb=new Button("Center Button");
              int buttonCount=0;
              public void init()
                   setLayout(new BorderLayout());
                   add(nb,"North");
                   add(sb,"South");
                   add(eb,"East");
                   add(wb,"West");
                   add(cb,"Center");
                   cb.addActionListener(this);
                   buttonCount=0;
              public void actionPerformed(ActionEvent e)
                   for (int i=0;i<color.length;i++)
                        buttonCount++;
                        if (buttonCount%2==0)
                             nb.setBackground(color);
                        if (buttonCount%2==1)
                             sb.setBackground(color[i]);

    declare a public variable count;
    int count=0;
    public void actionPerformed(ActionEvent e)
    buttonCount++;
    count++;
    if(count==color.length)
    count=0;
    if (buttonCount%2==0)
    nb.setBackground(color[count]);
    if (buttonCount%2==1)
    sb.setBackground(color[count]);
    hope you got it.

  • Now that iCloud has done away with galleries, how can we share as I did with MobileMe? How can we sync non-Apple email accounts across multiple computers?

    Now that iCloud has done away with galleries, how can we share as I did with MobileMe? How can we sync non-Apple email accounts across multiple computers?

    You will need to find a third party solution for online storage in order to share things like photos with others. Some popular solutions to this are dropbox and sugarsync.
    You cannot sync non-iCloud email accounts across your iOS devices and computers unless they are IMAP accounts like iCloud. If they are IMAP accounts, you will do it in the same way as you have always done.

  • How can i remove the shell case from cath kidston?

    Hi how can i remove the shell case from cath kidston

    Try:
    items.RemoveAll(s => string.IsNullOrEmpty(s));
    Or you can filter them out using where:
    var noEmptyStrings = items.Where(s => !string.IsNullOrEmpty(s));
    Having fun with custom collections!
    Basics of .NET Collections in C#
    How does it work in C#? - Part 3 (C# LINQ in detail)
    Mark as answer or vote as helpful if you find it useful | Ammar Zaied [MCP]

  • Cheque printing. How to avoid last page in case of check printing in F110?

    F-68 prints only one page whereas F110 prints 2 pages.
    How to avoid last page in case of check printing using F110? Is there any other option than changing the Script.

    Hi,
    Im also facing the same issue. Generates 1 page with F-58 but 2 pages with f110. Kindly let me know how to resolve.

  • I bought OSX Mountain Lion 10.8.2 in the App Store. I have accidentally dleted it from my list of purchases. How can I restore it in case I need to use it again?

    I bought OSX Mountain Lion 10.8.2 in the App Store. I have accidentally deleted it from my list of purchases.
    How can I restore it in case I need to use it again?

    To recover Mountain Lion to your purchases, open App Store > Featured > Account (under Quick Links) > Show hidden purchases, and show OS X Mountain Lion. Finally, it will appear on Purchases tab

  • I would like to know how can i compare a switch case 1 and case 2 in C# is it possible to do that? obs i am a begginer :)

    i would like to know how can i compare a switch case 1 and case 2 in C# is it possible to do that? obs i am a begginer :) I tried to do it with search and sort but it did not go well

    let me give you an example if you add a word case 1( lagg ord) how can i compare that word with case 2 words ( in case 2  already exist 5 words)
    here is the my program 
    using System;
    namespace ConsoleApplication1
        class Program
            static void Main(string[] args)
                //Meny
                Console.WriteLine("\n HÄNGA GUBBE\n");
                Console.WriteLine(" 1) Lägg till ord");
                Console.WriteLine(" 2) Lista alla ord");
                Console.WriteLine(" 3) Spela");
                Console.WriteLine(" 4) Avsluta");
                bool utgång = false;
                do
                    int Valet;
                    Console.Write("\n\tVälj 1-4: \n ");
                    try
                        Valet = int.Parse(Console.ReadLine());
                    catch (Exception)
                        Console.WriteLine("Du skriver fel character!\n" +
                            "\nSkriv bara mellan 1 och 4");
                        continue;
                    switch (Valet)
                        case 1:
                            Console.WriteLine("\n lägg ett till ord! ");
                          var input = Console.ReadLine();
                            break;
                        case 2:
                            Console.WriteLine("\n Lista med alla ord :\n");
                            string[] array = { " Lev", " Skratta", " Gledje", " Gråt", " Njut" };
                            Array.Sort<string>(array);
                            foreach (var c in array)
                                Console.WriteLine(c);
                            Console.WriteLine("\n");
                            break;
                        case 3:
                            string guesses, bokstäver;
                            Console.Write("\n Hur många fel får man ha? ");
                            guesses = (Console.ReadLine());
                            Console.WriteLine(" Utmärkt, då spelar vi!\n");
                            Console.WriteLine(" Felgisningar :" + "0/" + guesses);
                            Console.Write(" Gissade bokstäver ");
                            bokstäver = (Console.ReadLine());
                            Console.WriteLine("Aktuellt ord");
                            Console.Write("Gissa bokstav : " + bokstäver + " \n");
                            break;
                        case 4:
                            Console.WriteLine("\n  HEJ DÅ! \n");
                            Console.Beep();
                            utgång = true;
                            break;
                        //avbryter while loopen, avslutar spelet
                } while (!utgång);

Maybe you are looking for