Pegged CPU using Scripter MIDI FX

I've been using MainStage 3.0.4 with the Scripter MidiFX plugin to use javascript to build custom sequencing/arpeggiators.  Unforuntately, I have found using NeedsTimingInfo = true; to cause performance issues that cause occasional blips in the audio output from the CPU being pegged... even with the highest output buffers.
I moved from using GetTimingInfo() to writing my own version using new Date().getTime() in javascript, and that helped A LOT, but I was still getting occasional CPU spiked that affected the output.  Even the Apple example javascript files have this problem.   Strangely, moving from my Core i7 8 core MacBook Pro to a Core 2 Duo MacMini was better for the CPU, and the problem seems to be resolved by switching to a single CPU, but I'm expecting it to come back at any moment.
Basically I'm doing stuff like having a bass line I can turn on with a fader that goes along with my keyboard parts, or some custom arpeggiation beyond what I can do with Apple's plugin.
Has anyone else experienced this issue or have any suggestions?  Moving to a single core actually seems to be doing okay tonight, but it seems ridiculous to cut and paste these class with 50 lines of code to replace built in functionality in every one of my scripts.
I'll gladly post the javascript if others have experienced this and there is no resolution on the current version of MainStage.

Hi Smitting!!
Please , i kindly ask you for helping me with this same problem. My CPU usage often keep over 90%! I really don't know what to do to solve this problem.
Can you help me please???
Thank you so much!!!!
Filipe

Similar Messages

  • CPU used by oracle user

    Hi,
    on 10 g R2, on Windows SEVER 2003
    oracle user SCOTT connect from SQLPLUS and runs a large query. Is there any way to see how much CPU does he use ?
    Thanks.

    CPU used by a user(session wise)
    select a.sid, a.username, a.osuser, c.name, b.value
    from v$session a, v$sesstat b, v$statname c
    where a.sid = b.sid
    and b.statistic# = c.statistic#
    and c.name like '%CPU%'
    and a.username='SCOTT'
    order by a.sid, c.name
    Per user (session wise) following information:
    1.cpu usages
    2.memory sorts
    3.table scan
    4.commit
    5.cursor
    6.physical reads
    7.logical reads
    8.BCHR (buffer cache hit ratio)
    select a.sid, a.username, a.osuser, c.name, b.value
    from v$session a, v$sesstat b, v$statname c
    where a.sid = b.sid
    and b.statistic# = c.statistic#
    and (c.name like '%CPU%' or c.name like '%sorts (memory)%' or c.name like '%table scan%' or c.name like '%commit%' or c.name like '%cursor%' or c.name like '%read%' or c.name like '%buffer%' or c.name like '%cache%')
    and b.value > 0
    order by a.sid, c.name
    If you have the licences for the diagnostic pack and performance pack, you can look at the active session history for this type of information. You can query view DBA_HIST_ACTIVE_SESS_HISTORY, or run the ashrpt.sql script from $ORACLE_HOME/rdbms/admin, or use OEM for a graphic representation of the workload over time.
    HTH
    Girish Sharma
    Edited by: Girish Sharma on Dec 8, 2009 5:23 PM
    "and a.username='SCOTT'" added.

  • ITunes 11.0.4 - high CPU use

    Hello,
    since I upgraded to Mountain Lion 10.8.4. and iTunes to 11.0.4 a couple of days ago, iTunes keeps fooling around using up to 130% of my CPU (how is that even possible?!) when playing music. As soon as I pause the music, the CPU-use goes back to >1%. Before the upgrades I had a big library with over 170GB of music (no only a few albums) and no problems using iTunes whatsoever.
    I run a mid-2010 13" MBP with OSX 10.8.4, 2,4 GhZ Intel Core 2 Duo and 4GB of RAM. 
    Thanks in advance!

    Yessss! i' ve finally found the issue !
    The problem was with "smart play lists" i dunno how you call it in english, but i' ve created a long time ago a smart playlist named "unread" because the "all random" function is not so much random for me, as they play some tracks more often than others...
    With as criteria " numbers of play = 0 " so one title is played one time!
    By using my brain as good as i can, i told myself " what itunes do when a song ends and then go to the next?"
    It wrote something on the smart play list or something like that
    Then test from "play all random" = no more issue !
    Then deleted my smart play list and recreate one identical = problem solved !
    norbml : i hope this help you

  • Excessive cpu use and crashes

    I've been having many crashes lately. One of the odd symptoms is that the Activity Monitor shows huge amounts of cpu use graphically, while at the same time showing very little use in the written list. A screenshot is here
    http://www.flickr.com/photos/34043585@N00/2363034014/sizes/o/
    and here
    http://www.flickr.com/photos/34043585@N00/2362202649/sizes/o/
    Sometimes an app will crash, ask if I want to restart, restart, and crash again.
    I went through my fonts tonight and repaired my disk permissions. However, I still get this error message when I run a permissions check:
    ACL found but not expected on "System/Library/Frameworks/IOKit.framework/Versions/A/Resources/Info.plist".
    and
    ACL found but not expected on "Library".
    So far things appear to be ok tonight, but this puppy has been intermittent, so I don't know if my font futzing did any good.
    Any ideas on the ACL messages and why the cpu usage was off the charts?
    Tom

    ACL stands for "Access Control List." It's a way of restricting who can access what files on your computer. It should not be on the file you listed. You'll need to remove it, which you can find out how to do in OS 10.4 by reading this article:
    http://arstechnica.com/reviews/os/macosx-10-4.ars/8
    It is possible that this ACL is what's causing your problems and it's a good place to start. However, I also recommend you boot the computer in Safe mode by restarting while holding down the Shift key. Booting in safe mode runs a lot of maintenance scripts that clear font caches, etc. It may help.

  • How to find a memory and CPU used by a specific concurrent program ?

    Dear All ,
    How to find a memory and CPU used by a specific concurrent program ?
    Thanks.

    Hi,
    How to find a memory and CPU used by a specific concurrent program ?
    Could you please let us can we get the
    memory used for a specific concurrent request .
    Please refer scripts available at:
    Concurrent Manager and program related scripts
    Queries : Concurrent Managers/Processes
    Thanks &
    Best Regards,

  • How do i use one midi controller and ignore another in Mainstage 2.1?

    I am running Mainstage and Ableton Live in parallel and use two midi controllers. I would like the APC40 to just be recognized by Live, and my MPK49 to be recognized by Mainstage and Live. Right now, I get midi signal from Mainstage on both midi controllers and can't seem to figure out how to assign just Mainstage to just get midi input from the MPK49. Any ideas? Thanks.

    Yes, that worked a the device popups were set to all. Fixed that and moved on. Thanks! However another similar problem has come up...
    The sliders on the APC40 (which I just want to be recognized by Live), are affecting the Mainstage Channel Strips volume sliders. I can't seem to figure how to make Mainstage ignore this as all of the APC40 sliders are effecting Channel Strip 1. Thanks.

  • HT4106 How do I use a midi keyboard on GarageBand with my iPad? When I try it says the device cannot be used as it requires too much power.  However, I have given the midi it's own power source.

    How do I use a midi keyboard as an input device on garageband? Its an oxygen 61 board.  I'm using an iPad camera connection kit and a separate power source for the midi but each time it says it cannot use the midi as it requires too much power. 

    I have the same problem with my iPad and 61. Sometimes it says device not supported and sometimes it rants about power - any solutions anyone ?

  • Why can't I use my mid 2010 macbook pro with 8GB memoir and NVIDIA GEForce GT 330M 256MB to run 3D in photoshop CC?

    Why can't I use my mid 2010 macbook pro with 8GB memoir and NVIDIA GEForce GT 330M 256MB to run 3D in photoshop CC?

    3-D is very memory intensive.
    System requirements | Photoshop
    Mac OS
    Multicore Intel processor with 64-bit support
    Mac OS X v10.7, v10.8, or v10.9
    2 GB of RAM (8 GB recommended)
    3.2 GB of available hard-disk space for installation; additional free space required during installation (cannot install on a volume that uses a case-sensitive file system or on removable flash storage devices)
    1024x768 display (1280x800 recommended) with 16-bit color and 512 MB of VRAM (1 GB recommended)**
    OpenGL 2.0–capable system
    Internet connection and registration are necessary for required software activation, membership validation, and access to online services.*
    ** 3D features are disabled and some Mercury Graphics Engine enhanced features may not work with less than 512 MB VRAM. Read the Help article.
    Bottom line, you don't have enough VRAM
    Nancy O.

  • Using scripting with networking equipment under Windows

    It can be a challenge to use scripting to automate working with Cisco devices. The Cisco IOS does not seem to directly provide a command line interface. You are forced to find a way to automate interaction with a telnet or ssh session.
    The PERL language provides a number of object-oriented methods to help manage an interactive session, most notably Net::SSH::Expect and Net::Appliance::Session. These options can work well in a Unix environment, but not under MS Windows.
    There are PERL for Windows options, the best probably being Strawberry PERL. There is also a Unix under Windows option known as CYGWIN that is freely available. Unfortunately none of these will work well with the way Windows manages low-level terminal I/O. The curious can google "windows pseudo terminal" to see all the technical details.
    One way that does work under Windows is Tcl.  It was initially named Tool Command Language. It is sometimes shown as Tcl/Tk.
    Interestingly enough, Tcl is included within Cisco IOS as tclsh. There is no interaction with the tclsh and this example. It is just a bit of a curious coincidence.
    A Tcl port to Windows can be downloaded from http://www.activestate.com/activetcl/downloads. Select Download ActiveTCL for Windows. A direct link to the download that worked at the time of writing is Download ActiveTcl 8.5.14 for Windows (x86)
    Once base Tcl has been downloaded and installed there is one other component that will need to be installed from the Tcl Extension Archive, the expect package.
    The teacup program that is installed with the base Tcl package makes this easy. The teacup program will work with a proxy.
    You can set these Windows environment variables to specify proxy details:
    set http_proxy=
    set http_proxy_user=
    set http_proxy_pass=
    Then run teacup install expect
    The plink tool from the PuTTY download is also needed. It can be obtained from http://www.putty.org/.
    The sample that follows assumes that the data files, script and plink.exe executable all reside in the same directory.
    A sample Tcl script follows that reads a file of devices and a file of commands. It will run the list of commands against each device in the device file. It has some basic error checking, but should best be considered a ‘beta’ version. You could do more complex interactions in the Tcl script by adding exp_send and expect command statements. In short, if you can type it you could script it!
    Change directory to where your script, plink.exe  and data is stored and run with  tclsh <script_name>
    devices.list
    # Comment lines are allowed if they start with a hash mark
    # <IP_Addr> <userid> <password> <ssh|telnet> <timeout_in_secs>
    nnn.nnn.nnn.nnn    <userid>    <password>  ssh         <timeout_in_secs>
    nnn.nnn.nnn.nnn    <userid>    <password>  telnet      30
    commands.list
    # term length 0 needed or else IOS will wait for an enter to be pressed at the  --More-- prompts
    term length 0
    show run
    exit
    Script:
    # Run batch commands against one or more devices
    package require Expect
    exp_log_user 0
    set exp_internal 0
    set exp::nt_debug 0
    set prompt "(#\s*$|>\s*$)"
    set env(TERM) dumb
    set file_channel  [open "devices.list" r]
    set DEVICES      [read $file_channel]
    close $file_channel
    set file_channel  [open "commands.list" r]
    set COMMANDS      [read $file_channel]
    close $file_channel
    set command_entries [split $COMMANDS "\n"]
    set device_entries  [split $DEVICES "\n"]
    proc timedout {{msg {none}}} {
          send_user "Timed out (reason: $msg)\n"
          if {[info exists ::expect_out]} { parray ::expect_out }
          exit 1
    foreach device_entry $device_entries {
          if {[string length $device_entry] == 0 || [regexp {[ \t]*#} $device_entry]} { continue }
          set device  [lindex $device_entry 0]
          set user    [lindex $device_entry 1]
          set pass    [lindex $device_entry 2]
          set mode    [lindex $device_entry 3]
          set wait    [lindex $device_entry 4]
          set serial  [lindex $device_entry 5]
          # puts "Device=$device"
          # puts "User=$user"
          # puts "Mode=$mode"
          # puts "Wait=$wait"
          set timeout $wait
          # Spawning the Session
          # If you are logging on to the remote machine using "ssh", "slogin" or "rlogin", the information
          # gets processed in a slightly different manner. With any of these methods, it is necessary to
          # include an additional -l option to specify a username.
          # Next, the $spawn_id variable is captured, storing information about this spawn session in
          # memory for future reference.
          # If you are logging in via Telnet, the final code block in this section is required to pass the
          # username to Telnet. If the login is completed before the script times out, the exp_send command
          # passes the username.
          switch -exact $mode {
                "telnet" { set pid [spawn plink -telnet -l $user $device] }
                "ssh"   { set pid [spawn plink -ssh -l $user -pw $pass $device] }
                "serial" { set pid [spawn plink -serial $serial -l $user -pw $pass $device] }
          set id $spawn_id
          if {$mode == "telnet"} {
                expect -i $id timeout {
                timedout "in user login"
                } eof {
                timedout "spawn failed with eof on login"
                } -re "(login|Username):.*" {
                exp_send -i $id -- "$user\r"
          # Handling Errors
          # The error-handling section of the script is a while loop that anticipates a number of problems
          # that could occur during login. This section is not exhaustive. For example, you could also add
          # provisions for invalid usernames and passwords.
          # If the login is not completed during the allotted time frame, which is set from the devices.list file
          # and specified with expect -i $id timeout, the program displays an appropriate error message.
          # The remainder of this loop makes use of the exp_send command to allow for other scenarios, such
          # as the user typing "yes" when prompted to proceed with the connection, entering a password, or
          # resetting the terminal mode.
          set logged_in 0
          while {!$logged_in} {
                expect -i $id timeout {
                timedout "in while loop"
                break
                } eof {
                timedout "spawn failed with eof"
                break
                } "Store key in cache? (y/n)" {
                exp_send -i $id -- "y\r"
                } -re "\[Pp\]assword:.*" {
                exp_send -i $id -- "$pass\r"
                } "TERM = (*) " {
                exp_send -i $id -- "$env(TERM)\r"
                } -re $prompt {
                set logged_in 1
          foreach command $command_entries {
                if {[string length $command] == 0 || [regexp {[ \t]*#} $command]} { continue }
                # Sending the Request
                # If the login is successful, the code in the if statement below is used to send the "cmd" request
                # to display files and directories. After the request is sent with exp_send, the resulting output
                # is captured in the dir variable, which is set on the fourth line of the code shown below.
                if {$logged_in} {
                      exp_send -i $id -- "$command\r"
                      expect -i $id timeout {timedout "on prompt"} -re $prompt
                      puts "$expect_out(buffer)"
                # Closing the Spawned Session
                # The exp_close command ends the session spawned earlier. Just to be sure that session
                # does indeed close, the exp_wait command causes the script to continue running until a result is
                # obtained from the system processes. If the system hangs, it is likely because exp_close was not
                # able to close the spawned process, and you may need to kill it manually.
          catch { exp_close -i $id }
          exp_wait -i $id
          set logged_in 0
    *** End of Document ***

    Your friend will have to save the templates as CS6, which he can do.

  • HT204053 How to I get music I purchased before the iCloud was created to show up on my new authorized iPhone?  Right now I can only see the Apps I recently purchased on the actual phone but older music I purchased on my CPU using the same Apple ID doesn't

    How to I get music I purchased before the iCloud was created to show up on my new authorized iPhone?  Right now I can only see the Apps I recently purchased on the actual phone but older music I purchased on my CPU using the same Apple ID doesn't appear.

    Does any music show in the Purchased tab on the iTunes store app on your phone ? Music can't be re-downloaded in all countries, and even where it can be it will only appear whilst it remains in the store. Do you have your purchases on your computer and/or on a backup of your puchases so that you can sync them to your phone ?

  • How can I use two midi keyboards to control two different patches?

    I would like to use two midi keyboards in my setup, each controlling a different patch or track.

    Hi,
    Follow the steps in this guide:
    http://www.logicprohelp.com/forum/viewtopic.php?f=5&t=32201
    J.

  • Can I use a midi console to control GarageBand?

    Hi all,
    I'll start off by saying I've never been a huge audio guy; just know enough to get by. Basically, I recently was given two consoles; Yamaha AW-4416 & Tascam TM-D1000. Both are slightly old, but new in box. At the moment I'm keeping both since I do school shows and such from time to time. They are really both designed around recording; and both also have midi out. Is there a way to use the midi out to plug into my Mac and use one of them to control GarageBand? I.e use the channel faders to control channels in GarageBand. I also have Adobe Audition.
    Thanks

    Is there a way to use the midi out to plug into my Mac and use one of them to control GarageBand? I.e use the channel faders to control channels in GarageBand.
    As far as I know, Bob, Garageband automatically assigns midi CC settings, and there is no way to override these assignments.  So while some of the faders and dials might end up controlling various things, there is no way to, for example, ensure that your controller's volume fader is assigned to CC7. 

  • Using multiple MIDI in and out ports... is there a any solution?

    Hi Guys,
    I've been using Logic Pro for about 3 or 4 years, and have always struggled with the fact that when using external MIDI instruments, there are not separate drop-down menus for PORT IN and PORT OUT, where I could choose which port would be used on my MIDI interface.
    I was previously a Cubase user, and it had these two ports, so I could easily choose, for example: "MIDI IN: Port B" and "MIDI OUT: Port C", and MIDI would be routed to those ports.
    Logic only has one drop-down for selecting ports, and that is for the outgoing MIDI signal only.
    My problem is that when we want to record say two synths at the same time, each on its own MIDI track, the incoming signals are blended and played on both active tracks.
    There IS a tick-box option in Project Settings, called Auto demix by channel if multitrack recording, but this only works when all the channels in question are armed for recording. If we are just jamming ideas (but want to have MIDI set up ready to record... therefore local is off on each synth, etc...), it appears there is no way to separate the incoming MIDI signals so they only go back to their respective ports.
    This issue has now compounded with the addition of two new synths in my studio... suddenly it's even more crucial to be able to easily separate the MIDI ports for each of the four synths.
    I have never delved into the Environment, but was chatting to the guys in the music store I go to, and they were saying there might be a way of setting up the specific MIDI routing I am looking for, in the Environment.
    I would love any assistance you could give me. This has become such a frustration that I have even looked at moving back to Cubase (but the way it handles lots of tracks at low latency on Mac is stopping me, at the moment! The trial version showed this up as a real issue, compared to Logic!).
    I am of course secretly hoping that Logic Pro 10 will have a re-thought MIDI setup, with simple in and out port drop-downs for each MIDI track. But that's a long shot, and Logic 10 could still be ages away!
    Any help an experienced user can offer me would really be appreciated.
    Cheers,
    Mike

    discussed like ****
    still no one ever did a simple explanation how to do , once for all in the environtment .
    Please, i am ready even to pay someone who will show the techique

  • How to call text file using Script in Data Integrator

    Dear All,
    Can any one assit me in how to call a text file using script with the help of Data Integrator.
    and one question ?
    M having 32 csv files i want to club thos 32 csv files into one table with the help of Data Integrator, can
    any one assist me.

    mary,
    since you knew the file name ,when clicked in name send to server,read the file and write to servlet outputstream.
    I think this would help you.
    If anything wrong in mycode ..forums will help you further
    BufferedInputStream bis=null;
    BufferedOutputStream bos=null;
    int bytesRead=0;
    byte buff[]=new byte[1024];
    File f=new File(test.txt);
    try{
         bis= new BufferedInputStream(new FileInputStream(f));
         bytesRead=bis.read(buff,0,buff.length);
         if(bytesRead!=-1){
              // create a BufferedOutputStream from ServletOutputStream
              bos=new BufferedInputStream(response.getOutputStream());
              do{
                   bos.write(buff,0,bytesRead);
              }while((bytesRead=bis.read(buff,0,buff.length))!=-1)
    }catch(Exception e){
         ////error handling
         }

  • Create a counter for the rows in a table using script editor?

    Hi ,
    I want to add afield in a particular table  with first field is its serial number . How to use scripting editor to fill the serial number ?
    How to create a counter ?
    Edited by: Rajan.Dexter9 on Jan 30, 2012 9:40 PM

    Hello Rajan,
    Create a field in the table and name it as 'SERIAL'.  Create a variable called 'count' with default value as 0.  Now in script editor, for javascript language and calculate event, write the following script.
    var fields = xfa.layout.pageContent(xfa.layout.page(this)-1, "field", 0);
    for (var i=0; i <= fields.length-1; i++)
         if (fields.item(i).name == "SERIAL")
              count.value = count.value + 1;
                     this.rawValue = count.value;     

Maybe you are looking for