Mid/Side Stero

Hello,
How to use MS(mid/side) two audio channels in Soundtrack pro for stereo rending?

I know what you want to do, I just haven't actually done this myself.
( I have recorded MS in the very distant past using an SM69 condensor mic in Cardioid (M) and figure of 8 (S) and used hardware for encoding and decoding)
M + S = Left Channel
M - S = Right Channel
If all you want is the full stereo seperation you need to duplicate your M and S channnels.
Add to the S channel to your M to give you left stereo channel.
Add the the S channel with polarity inverted to your M to give you right stereo channel.
I don't think a plugin exists in Soundtrack Pro to do this and permit adjusting the stereo width.
OS X Audio plugins are installed in:
./Library/Audio/Plug-Ins
and
~/Library/Audio/Plug-Ins
I believe SP supports MDA style plug-ins.

Similar Messages

  • Decoding Mid-Side Stereo Audio in FCP

    Does anyone have any experience working with footage that has stereo audio recored using the Mid-Side technique? Once the footage is imported into FCP, I'd like to decode the mid and side tracks into a standard stereo left/right sound field. Ideally, I'd like control over the width of the stereo image.

    Hello,
    This has come up before, and my experience is to send the audio to Soundtrack and in
    Process-Effects-Imaging-Direction Mixer, there is a preset to decode M/S
    I have not found a filter/plugin that will work in FCP, needs a trip into Soundtrack.
    Hope this gives you some help.
    Tom

  • Using mid-side audio in Premiere?

    Hello,
    Has anyone used mid-side audio in Premiere, and would you be able to tell me how to use it?  I have a mid-side setting on my stereo microphone and would like to make use of it but I have not been able to find information on how to use this audio source in Premiere.
    Many thanks.

    Upload a file.  I can test it out.
    http://www.depositfiles.com/en/

  • Mid/Side Plugin Update

    Hello All, I have been successful in finding a Mid/Side decoder that works in Audio Units in Soundtrack Pro. I have given it only a quick review, but it seems
    to work OK. It is a freeware offered by Soundhack. The link is here inclued.
    Thank you all, Tom
    http://www.soundhack.com/freeware.php
    G5 2.0 ghz 2.5 ram   Mac OS X (10.4.7)  

    I know what you want to do, I just haven't actually done this myself.
    ( I have recorded MS in the very distant past using an SM69 condensor mic in Cardioid (M) and figure of 8 (S) and used hardware for encoding and decoding)
    M + S = Left Channel
    M - S = Right Channel
    If all you want is the full stereo seperation you need to duplicate your M and S channnels.
    Add to the S channel to your M to give you left stereo channel.
    Add the the S channel with polarity inverted to your M to give you right stereo channel.
    I don't think a plugin exists in Soundtrack Pro to do this and permit adjusting the stereo width.
    OS X Audio plugins are installed in:
    ./Library/Audio/Plug-Ins
    and
    ~/Library/Audio/Plug-Ins
    I believe SP supports MDA style plug-ins.

  • Mid-Side Stereo Decoding

    This may give away that I am a newb, but can anyone tell me how to invert the phase on one channel, as I am trying to decode a mid-side stereo recording. Thanks.

    Oh, and there are a couple of free, third-party options for m/s decoding, that I can think of.
    Soundhack has +matrix in its freesound bundle:
    http://www.soundhack.com/freeware.php
    And Voxengo makes MSED which is also a free AU plugin:
    http://www.voxengo.com/product/msed/
    Good luck!

  • How to create MS (Mid Side) tracks from a stereo file

    Hi everyone.
    Can anyone tell me how to create MS tracks from a stereo file?
    I used to do it on old analogue desks but can't figure how to it in logic.
    Would appreciate assistance.

    Hi guys. Here's what I'm really trying to do...It's to do with digital - DAB - radio.
    I've noticed on DAB radio that certain songs exhibit weird and severe loss of stereo image. e.g.
    When listening to "Riders on the Storm" by the Doors the keyboard solo goes missing. Totally vanished, bar a weak reverb remnant.
    When I first heard this problem it reminded me instantly of an experiment I made with MS encoding on an analogue desk with that very track some years ago: which I mentioned in my first thread.
    I'm not attempting to use MS here for a positive purpose. Quite the reverse! It is the INCONPATIBILTY that I am after.
    DAB is broadcasted in the UK using MP2 encoding, which divides the spectrum into 750Hz portions. That makes 13 portions, roughly, if you divide 750 into 10000. I've just set up 13 versions of Riders on the Storm and have bandwidth limited each accordingly: 20 Hz-770 Hz, 770 Hz-1520 Hz, 1520 Hz-2270 Hz etc.. Low and behold, weird things are already starting to happen to the stereo image. Jim Morrison's vocal exihibits a 1.5 second time delay (i.e. loss of reverb intergity, reverb transformed into a discrete one beat time delay) when all thirteen tracks are played together. Now I'm going to try MS encoding this to replicate the way DAB would send these chunks across the airwaves.
    If you've got time, try it too! And please give me some more tips on how to create MS from stereo files.
    Best.
    Power Book G4 15   Mac OS X (10.1.x)  
    Power Book G4 15   Mac OS X (10.1.x)  

  • Decoding M/S (Mid Side)

    Hi FCP guys,
    Is there any way to decode an M/S stereo signal to standard L+R stereo on Final Cut?
    Thanks,
    Alex

    Some more info:
    http://www.dvinfo.net/conf/showthread.php?t=65259
    http://users.pandora.be/satcp/eac11.htm
    HTH.

  • How do I hook my Keyboard up to my computer to use it as a MIDI controller?

    Ok, I'm new to MACS and new to LOGIC. I just installed logic and all of its components on my IMAC. OSX 10.6.3 Once I installed everything, I tried to hook up my electric piano to use it as a MIDI controller. Mind you, I am also completely new to MIDI. My Piano is a KORG sp-300. I used an Alesis Audio Link USB- MIDI cable to connect my keyboard directly to a usb port in my MAC. I hooked up the midi side of the connector to the midi in and out on my keyboard, and plugged in the usb side to the computer. I then went to the Audio Midi set up, and looked in the midi studio, and there was the USB2MIDI(which is associated with the Alesis cord, and not my Korg piano) and the IAC driver from MAC. I checked so that both are online, and didn't change any of the other settings. I did a test set up, but when I played notes on the keyboard nothing happened.
    So now when I open Logic, or garage band for that matter, it doesn't recognize that I have a midi controller hooked up. When I look in midi preferences in garageband, it says that there are 2 midi devices detected. In logic it says that there is no input or output.
    I read the manual for LOGIC and for my Korg, and I am lost. Korg says that it transmits on 1 channel, automatically set to channel 1 if not adjusted, and receives on 16. If I am correct, right now I am not interested in receiving, only transmitting.
    At this point, I just want to select a software instrument in Logic, play my Korg, and see notes(or MIDI data) appear in the arrange area. I don't know what's going on, but again, I am completely lost.
    Could someone please help me here? Am I missing an obvious step? Like I said, I am new to all of this, so please let me know if you have any idea how to get my midi controller to work. It says in the Korg manual that it can be used as a controller, or a multitimbral tone generator. And I did switch the Local Off.
    By the way, who would be best to call to solve this issue. MAC? Sweetwater(where I bought the Alesis cord, and Logic)? Or Korg?
    Please let me know if you have any helpful advice.
    Thanks,
    Tristan

    MUYconfundido wrote:
    Pancenter,
    Thanks for the response, but I do not have a midi interface. I am using a midi to usb connector cable, thus bypassing the need for a Midi interface.
    The Mac reads the USB cable as a midi device, but not the keyboard that I am trying to use as a controller. I have tried it with my korg sp 300 and with my Nord Electro 2.
    Thoughts?
    Thanks,
    Tristan
    Tristan...
    This is what you have, correct?
    http://www.alesis.com/usbmidicable
    This from Alesis..
    "The AudioLink Series USB cable receives and outputs MIDI signal thanks to its internal interface. The USB-MIDI Cable connects plug-and-play to your Mac or PC for an all-in-one USB-MIDI solution."
    Notice, -internal interface-. What you have is a simple USB MIDI Interface. Most MIDI interfaces are USB.
    My point is (was), MIDI OUT of the Korg goes to the connector marked MIDI IN on the Alesis, those new to MIDI often get this wrong.
    pancenter-

  • Audio Midi Setup seems to do nothing but crash lately

    I looked around for a more suitable forum but this seemed like my best bet. I recently started having very poor luck with Audio Midi Setup (AMS here).
    I just installed Logic Pro, a MOTU Ultralite, and a MOTU micro express, but I have never used AMS on an Intel prior to installing this gear, so I don't know if any of the three is responsible.
    AMS will randomly crash for no reason that I can figure whenever I'm in the MIDI pane. Additionally, I can cause it to crash by fiddling with MIDI routing. The crashing becomes more frequent if I change icons and colors of MIDI devices. There is one guaranteed way to get AMS to crash, and that is to click on one of the MIDI devices' information bullets. Come to think of it, not all devices have these buttons, and I have no idea what they're supposed to do. But I can't resist clicking on 'em.

    LOL
    Aside from crashing and other AMS weirdnesses I've seen over the past few months (on both Logic-based and DP-based systems), and aside from the fact that Logic's environment renders the MIDI side of AMS redundant, here's the thing I really don't like about Logic + AMS integration:
    When you create a MIDI instrument in AMS, Logic will recognize the instrument and add it to the environment's MIDI instrument layer, but it won't show up there the first time you launch Logic. Might show up the second time. Or it might not show up at all.
    But aside from this bit o' behavior, any multi-timbral AMS-created MIDI devices that appear in the environment will have the program change checkboxes enabled for every channel, the program numbers themselves seemingly set at random. This means that if you select this instrument (on any channel) as the thru instrument in the arrange window and hit play, the MIDI device will be sent this not-set-by-the-user-and-very-random-but-transmitted-anyway program change. So say bye-bye to any edit that might have been living in the synth's buffer.
    The workaround here is to remember not to select any of those instruments for use in the arrange window until you first select each sub-channel of each multi-timbral MIDI device (as it shows up in the environment) and manually uncheck all of the program change check boxes. And trust me, it's a major pain in the *** to do on just one multi-instrument, let alone, say, 16 (as was my original AMS-derived environment setup).
    So that's yet another reason not to define your instruments ('specially multi-timbral instruments) in AMS.

  • How to create a map that is larger than the game in width and height?

    hi,
    i wounder how i can create a map(not the design) that is larger than the game in width and height, part of it will appear in the main page and anther part you can move to it after you press the arrow symbol, but the map is just one image so i want put it in line and out line the game page, and the out line part includes buttons and symbols the player can use, but it will be in line and the other part will be out line when you press the left arrow or the down arrow, how i can do that?
    and is that possible to animate it so when the player press the arrow, will give it action to start the animation in one sec, i know how to animate it if that possible but i don't know which code i will use for the mouse click with the arrow symbol, and how to use the same code in the same symbol to start anther animation depending on which part of the map is on?

    I don't know a lot about mask and masked layers and how to work with the normal layers beside i will use some 3D graphics but not in the background, i will explain all this to you to be more clearly.
    first i am using action script 3.0
    close ex,
    you have 2d map"image"  900*300 pixel.
    this image contains some 2d symbols when you click will go to anther normal map (anther normal layer) so they must appear.
    your game 320*320 px, and the place the map will show on 300*300, and there's basics objects will be in most pages including the page that show the map so i don't know a lot about how this will work with mask layers.
    so you can only see the left side of the map image and what it contains, while there's two arrows one to the left and one to the right there's three cases here,
    first when it show the left side(start from x:0 to x:300), the left arrow will not active when you press and the right arrow will start an animation that make the map image move to the mid side in one sec when you press.
    in mid side (start from x:301 to x:600) the same left arrow will active when you press to send you back to the left side while the same right arrow will be active to send you not to the mid side but to the right side,
    when moved to the right side the same left arrow will be active to send you to the mid and the right will not active when you press and depending on that,
    first how to make the large image appear with the three sides in the same place without effecting the other objects "like disappearing them" ?
    and the codes i need in the same left or right arrow symbol to make different actions with the same symbol when clicked depending on which part of the map is on.

  • Edit method problem???

    Hi,forgive for all the code but i've asked this question before and people asked for more code.The problem is i get an error in publicationmain saying "undefined varible newpublication" so how do i fix this?and is my edit method goin to work?using the get and set method?can u show me how do do this please?feel free to make any other changes.thanxs a reply would be most heplful
    public class publication
    public int PublicationID;
    public String publicationname;
    public String publisher;
    public String PricePerIssue;
    public String pubstatus;
    public String publicationtype;
    public publication(int NewPublicationID, String Newpublicationname, String Newpublisher, String NewPricePerIssue, String Newpubstatus, String Newpublicationtype)
    PublicationID = NewPublicationID;
    publicationname = Newpublicationname;
    publisher = Newpublisher;
    PricePerIssue = NewPricePerIssue;
    pubstatus = Newpubstatus;
    publicationtype = Newpublicationtype;
    public String toString ()
    String pubreport = "---------------------------Publication-Information-----------------------------";
    pubreport += "Publication ID:" PublicationID"/n";
    pubreport += " Publication Title:" publicationname"/n";
    pubreport += " publisher: " publisher"/n";
    pubreport += " price Per Issue: " PricePerIssue"/n";
    pubreport += " publication Status: " pubstatus"/n";
    pubreport += " publication Type: " publicationtype"/n";
    return pubreport;
    public void SetPublicationID(int PubID)
    PublicationID = PubID;
    public int GetPublicationID()
    return PublicationID;
    public void Setpublicationname(String pubname)
    publicationname = pubname;
    public String Getpublicationname()
    return publicationname;
    public void Setpublisher(String Pub)
    publisher = Pub;
    public String Getpublisher()
    return publisher;
    public void SetPricePerIssue(String PPI)
    PricePerIssue = PPI;
    public String GetPricePerIssue()
    return PricePerIssue;
    public void Setpubstatus(String Status)
    pubstatus = Status;
    public String Getpubstatus()
    return pubstatus;
    public void Setpublicationtype(String Pubtype)
    publicationtype = Pubtype;
    public String Getpublicationtype()
    return publicationtype;
    import java.util.*;
    import publication;
    public class PublicationContainer
    LinkedList PubList;
    public PublicationContainer()
    PubList = new LinkedList();
    public int add (publication newpublication)
    PubList.addLast(newpublication);
    return PubList.size();
    private class PubNode
    public publication pubrecord;
    public PubNode next;
    public PubNode (publication thepublicationrecord)
    publication p = thepublicationrecord;
    next = null;
    public String toString()
    return PubList.toString();
    public void remove(int PubID)
    PubList.remove(PubID);
    public publication get(int PubID)
    return (publication)PubList.get(PubID);
    public void set(int PubID,publication newpublication)
    PubList.set(PubID, newpublication);
    import cs1.Keyboard;
    import publication;
    import java.util.*;
    public class publicationmain
    public static void main(String args[])
    PublicationContainer pubdatabase = new PublicationContainer();
    int userchoice;
    boolean flag = false;
    while (flag == false)
    System.out.println("------------------------------------Publications--------------------------------");
    System.out.println();
    System.out.println("please Make a Selection");
    System.out.println();
    System.out.println("1 to add publication");
    System.out.println("2 to delete publication");
    System.out.println("0 to quit");
    System.out.println("3 to View all publications");
    System.out.println("4 to Edit a publication");
    System.out.println("5 to select view of publication");
    System.out.println("6 to produce daily summary");
    System.out.println();
    userchoice = Keyboard.readInt();
    switch (userchoice)     
    case 1:
    String PubName;
    String PricePerIssue;
    String Publisher;
    String Pubstatus;
    String Pubtype;
    int PubID;
    System.out.println ("Enter Publication ID:");
    PubID = Keyboard.readInt();
    System.out.println("Enter Publication Name:");
    PubName = Keyboard.readString();
    System.out.println("Enter Publisher Name");
    Publisher = Keyboard.readString();
    System.out.println("Enter Price per Issue:");
    PricePerIssue = Keyboard.readString();
    System.out.println("Enter Publication status");
    Pubstatus = Keyboard.readString();
    System.out.println("Enter Publication type:");
    Pubtype = Keyboard.readString();
    pubdatabase.add (new publication(PubID, PubName, Publisher, PricePerIssue, Pubstatus, Pubtype));
    break;
    case 0:
    flag = true;
    case 2:
    System.out.println ("Enter Publication ID:");
    PubID = Keyboard.readInt();
    pubdatabase.remove (PubID);
    System.out.println ("publication: "+(PubID)+" removed");
    System.out.println();
    break;
    case 3:
    System.out.println (pubdatabase);
    break;
    case 4:
    System.out.println ("Enter Publication to be edited by Publication ID: ");
    PubID = Keyboard.readInt();
    pubdatabase.get(PubID);
    pubdatabase.set(PubID, newpublication);
    default:
    System.out.println("Incorrect Entry");
    }

    Whoops! Anyone spot the mistake?
    I (blush) forgot to re-instate the serial key for the publications after reading them in from disk.
    Works now ;)
    import javax.swing.JComponent;
    import javax.swing.JList;
    import javax.swing.DefaultListModel;
    import javax.swing.JPanel;
    import javax.swing.JOptionPane;
    import javax.swing.JButton;
    import javax.swing.JScrollPane;
    import javax.swing.JLabel;
    import javax.swing.JComboBox;
    import javax.swing.JTextField;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import java.awt.Dimension;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.Serializable;
    class Publication
         implements Serializable
         private static final String sFileName= "Publications.ser";
         public static final byte UNKNOWN=     0;
         public static final byte HARDBACK=    1;
         public static final byte PAPERBACK=   2;
         public static final byte AUDIO=       3;
         public static final byte BRAIL=       4;
         public static final byte LARGE_PRINT= 5;
         public static final byte INSTOCK=      1;
         public static final byte BACK_ORDER=   2;
         public static final byte OUT_OF_PRINT= 3;
         private static final String[] sTypeNames=
              { "Unknown", "Hardback", "Paperback", "Audio", "Brail", "Large Print" };
         private static final String[] sStatusNames=
              { "Unknown", "In Stock", "Back Order", "Out of Print" };
         private int mId;
         private String mTitle;
         private String mAuthor;
         private String mPublisher;
         private float mPrice;
         private byte mStatus;
         private byte mType;
         private static Object sIdLock= new Object();
         static int sId;
         public Publication(
              String title, String author, String publisher,
              float price, byte status, byte type)
              setTitle(title);
              setPublisher(publisher);
              setAuthor(author);
              setPrice(price);
              setStatus(status);
              setType(type);
              synchronized (sIdLock) {
                   mId= ++sId;
         public int getId() { return mId; }
         public void setTitle(String title) { mTitle= title; }
         public String getTitle() { return mTitle; }
         public void setAuthor(String author) { mAuthor= author; }
         public String getAuthor() { return mAuthor; }
         public void setPublisher(String publisher) { mPublisher= publisher; }
         public String getPublisher() { return mPublisher; }
         public void setPrice(float price) { mPrice= price; }
         public float getPrice() { return mPrice; }
         public void setStatus(byte status)
              if (status >= INSTOCK && status <= OUT_OF_PRINT)
                   mStatus= status;
              else
                   mStatus= UNKNOWN;
         public byte getStatus() { return mStatus; }
         public String getStatusName() { return sStatusNames[mStatus]; }
         public void setType(byte type)
              if (type >= HARDBACK && type <= LARGE_PRINT)
                   mType= type;
              else
                   mType= UNKNOWN;
         public byte getType() { return mType; }
         public String getTypeName() { return sTypeNames[mType]; }
         public String toString ()
              return
                   " id= " +getId() +
                   ", title= " +getTitle() +
                   ", author= " +getAuthor() +
                   ", publisher= " +getPublisher() +
                   ", price= " +getPrice() +
                   ", status= " +getStatus() +
                   " (" +getStatusName() +")" +
                   ", type= " +getType() +
                   " (" +getTypeName() +")";
         private static void addPublication(DefaultListModel listModel) {
              editPublication(listModel, null);
         private static void editPublication(
              DefaultListModel listModel, Publication publication)
              JPanel panel= new JPanel(new BorderLayout());
              JPanel titlePanel= new JPanel(new GridLayout(0,1));
              JPanel fieldPanel= new JPanel(new GridLayout(0,1));
              JTextField fTitle= new JTextField(20);
              JTextField fAuthor= new JTextField();
              JTextField fPublisher= new JTextField();
              JTextField fPrice= new JTextField();
              JComboBox cbStatus= new JComboBox(sStatusNames);
              JComboBox cbType= new JComboBox(sTypeNames);
              fieldPanel.add(fTitle);
              fieldPanel.add(fAuthor);
              fieldPanel.add(fPublisher);
              fieldPanel.add(fPrice);
              fieldPanel.add(cbStatus);
              fieldPanel.add(cbType);
              titlePanel.add(new JLabel("Title:"));
              titlePanel.add(new JLabel("Author:"));
              titlePanel.add(new JLabel("Publisher: "));
              titlePanel.add(new JLabel("Price:"));
              titlePanel.add(new JLabel("Status:"));
              titlePanel.add(new JLabel("Type:"));
              panel.add(titlePanel, BorderLayout.WEST);
              panel.add(fieldPanel, BorderLayout.EAST);
              if (publication != null) {
                   fTitle.setText(publication.getTitle());
                   fTitle.setEditable(false);
                   fAuthor.setText(publication.getAuthor());
                   fPublisher.setText(publication.getPublisher());
                   fPrice.setText("" +publication.getPrice());
                   cbStatus.setSelectedIndex((int) publication.getStatus());
                   cbType.setSelectedIndex((int) publication.getType());
              int option= JOptionPane.showOptionDialog(
                   null, panel, "New Publication",
                   JOptionPane.OK_CANCEL_OPTION,
                   JOptionPane.PLAIN_MESSAGE,
                   null, null, null
              if (option != JOptionPane.OK_OPTION)
                   return;
              String title=
                   fTitle.getText().length() < 1 ? "Unknown" : fTitle.getText();
              String author=
                   fAuthor.getText().length() < 1 ? "Unknown" : fAuthor.getText();
              String publisher=
                   fPublisher.getText().length() < 1 ? "Unknown" : fPublisher.getText();
              float price= 0.0f;
              try { price= Float.parseFloat(fPrice.getText()); }
              catch (NumberFormatException nfe) { }
              byte status= (byte) cbStatus.getSelectedIndex();
              byte type= (byte) cbType.getSelectedIndex();
              if (publication != null) {
                   publication.setAuthor(author);
                   publication.setPublisher(publisher);
                   publication.setPrice(price);
                   publication.setStatus(status);
                   publication.setType(type);
              else {
                   listModel.addElement(
                        new Publication(title, author, publisher, price, status, type));
         private static void deletePublications(JList list, DefaultListModel listModel)
              if (list.getSelectedIndex() >= 0) {
                   Object[] values= list.getSelectedValues();
                   for (int i= 0; i< values.length; i++)
                        listModel.removeElement(values);
         private static DefaultListModel getListModel()
              DefaultListModel listModel;
              try {
                   ObjectInputStream is=
                        new ObjectInputStream(new FileInputStream(sFileName));
                   listModel= (DefaultListModel) is.readObject();
                   is.close();
                   if (listModel.getSize() > 0) {
                        Publication.sId=
                             ((Publication)
                                  listModel.get(listModel.getSize() -1)).getId();
              catch (Exception e) {
                   JOptionPane.showMessageDialog(
                        null, "Could not find saved Publications, creating new list.",
                        "Error", JOptionPane.ERROR_MESSAGE);
                   listModel= new DefaultListModel();
                   // add a known book to the list (I'm pretty sure this one exists ;)
                   listModel.addElement(
                        new Publication("The Bible", "Various", "God", 12.95f,
                             Publication.INSTOCK, Publication.HARDBACK));
              // add a shutdown hook to save the list model to disk when we exit
              final DefaultListModel model= listModel;
              Runtime.getRuntime().addShutdownHook(new Thread() {
                   public void run() {
                        saveListModel(model);
              return listModel;
         private static void saveListModel(DefaultListModel listModel)
              try {
                   ObjectOutputStream os=
                        new ObjectOutputStream(new FileOutputStream(sFileName));
                   os.writeObject(listModel);
                   os.close();
              catch (IOException ioe) {
                   System.err.println("Failed to save Publications!");
                   ioe.printStackTrace();
         public static void main(String args[])
              // store all the publications in a list model which drives the JList
              // the user will see - we save it on exit, so see if there's one on disk.
              final DefaultListModel listModel= getListModel();
              final JList list= new JList(listModel);
              // two panels, the main one for the dialog and one for buttons
              JPanel panel= new JPanel(new BorderLayout());
              JPanel btnPanel= new JPanel(new GridLayout(1,0));
              // an add button, when pressed brings up a dialog where the user can
              // enter details of a new publication
              JButton btnAdd= new JButton("Add");
              btnAdd.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        addPublication(listModel);
              btnPanel.add(btnAdd);
              // a delete button, when pressed it will delete all the selected list
              // items (if any) and then disable itself
              final JButton btnDelete= new JButton("Delete");
              btnDelete.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        deletePublications(list, listModel);
              btnDelete.setEnabled(false);
              btnPanel.add(btnDelete);
              // hook into the list selection model so we can de-activate the delete
              // button if no list items are selected.
              list.getSelectionModel().addListSelectionListener(
                   new ListSelectionListener() {
                        public void valueChanged(ListSelectionEvent e) {
                             if (list.getSelectedIndices().length > 0)
                                  btnDelete.setEnabled(true);
                             else
                                  btnDelete.setEnabled(false);
              // Watch out for double clicks in the list and edit the document
              // selected
              list.addMouseListener(new MouseListener() {
                   public void mouseClicked(MouseEvent e) {
                        if (e.getClickCount() == 2) {
                             editPublication(
                                  listModel, (Publication) list.getSelectedValue());
                   public void mousePressed(MouseEvent e) { }
                   public void mouseReleased(MouseEvent e) { }
                   public void mouseEntered(MouseEvent e) { }
                   public void mouseExited(MouseEvent e) { }
              // Now keep an eye out for the user hitting return (will edit the selected
              // publication) or delete (will delete it)
              // Note: we have do the ugly "pressed" flag because JOptionPane closes
              // on keyPressed and we end up getting keyReleased. Can't use keyTypes
              // because it does not contain the virtual key code 8(
              list.addKeyListener(new KeyListener() {
                   boolean pressed= false;
                   public void keyTyped(KeyEvent e) { }
                   public void keyPressed(KeyEvent e) {
                        pressed= true;
                   public void keyReleased(KeyEvent e) {
                        if (pressed && e.getKeyCode() == e.VK_ENTER) {
                             editPublication(
                                  listModel, (Publication) list.getSelectedValue());
                        else if (pressed && e.getKeyCode() == e.VK_DELETE)
                             deletePublications(list, listModel);
                        pressed= false;
              // Put the list in a scroll pane so we can see it all. Make it resonably
              // wide so we don't have top scroll horizonatly to see most publications
              JScrollPane listScrollPane= new JScrollPane(list);
              listScrollPane.setPreferredSize(new Dimension(640, 300));
              // layout the list and button panel
              panel.add(listScrollPane, BorderLayout.CENTER);
              panel.add(btnPanel, BorderLayout.SOUTH);
              // ok, ready to rumble, lets show the user what we've got
              JOptionPane.showOptionDialog(
                   null, panel, "Publications",
                   JOptionPane.DEFAULT_OPTION,
                   JOptionPane.PLAIN_MESSAGE,
                   null, new String[0], null
              // leg it
              System.exit(0);

  • Adobe Audition 3.0.1 - Saving/Converting WAV's to MP3 adds small amounts of time to my MP3 files !!?

    Hello.
    I am new to the Forum, but turning to the masses out there for help with a weird one!
    I have used Adobe Audition for YEARS. I do a lot of converting of my finished WAV files to Mp3 files. The finished WAV's have always been in 48000Hz, 16 bit Stereo, and are always mixed to the specified time (e.g. 15, 30 or 60 seconds duration). These are then converted to mp3 files, using the 'Save As' option, choosing the 'Save As Type' as mp3PRO (Fhg) (*.mp3) option.
    My conversion settings have always been:
    CBR, mp3, 320Kbps 48000Hz Stereo (4:8:1), Maximum bandwith = 24000Hz, CBR Rate = 320, Sample Rate = 48000Hz, Codec = Current - Best Quality, Allow mid-side joint stereo, allow intensity joint stereo, Set 'Private' Bit, ISO Padding, Write CRC Check Sums.
    ...Now, for some strange reason, ever since last night, whenever I do the above process - the resulting mp2 file seems to ADD ON little bits of time...from 0.048 of a second to around 0.168 of a second..!!??? So to further clarify: If I convert a 15 second WAV file to mp3 - the resulting mp3 file ends up being slightly longer in duration at: 15.168 seconds..???
    This has never happened before. And, a solution has got me beat.
    I have tried different conversion settings, different configurations - even saving the initial WAV as a lower sample rate - but, no joy.
    I have an old version of Adobe Audition 2.0 on a different machine - and guess what?! Even IT does this same weird thing now too.
    It doesn't seem to matter if I REC and convert new files or convert old files - same problem.
    Even opening up mp3 files - that I KNOW were spot on for time - now also have these little bits of extra time added to them, once they are openned...??? What the...!!??
    I spent over half an hour on the phone with Adobe Tech support, earlier this afternoon. They got me to reset all of my user configuration files - but, didn't slove the issue!
    PLEASE:     Has anyone experienced this same conversion issue..? I would also be interested to know, if anyone else replicates these conversion settings, if they get the same problem..?
    Could this be one of those good old Windows update things..?
    Does anyone know if there are updates available for Auditions built-in mp3PRO encoder / decoder..?
    PLEASE HELP !!!
    Thank you, in advance.
    John.

    Well I don't know how you've missed this before, but it's always done it. It's a throwback to Syntrillium days, when it was discovered that some MP3 players managed to cut off the starts and finishes of MP3 files. The developers got around this by adding a small amount of silence when coding an MP3. Originally, Audition's loop files were MP3-based as well, but these didn't have the added silence, because obviously that would screw up the looping a treat. But as far as I'm aware, even though players are better now (aren't they???), the additional silence remains.
    I'm not surprised that the help desk doesn't know about this - it's a bit subtle. And with the best will in the world, they only have the crib sheets they're given, and they certainly don't cover everything that happens.

  • Gridsphere UI tag in dreamweaver

    Dear All,'
    I'm having difficulty to read jsp in dreamweaver because this
    JSP page contain gridsphere UI tag which can't be seen in
    dreamweaver.
    I already add tag lib to existing lib in dreamweaver.
    Sampel code :
    <%@ taglib uri="/portletUI" prefix="ui" %>
    <%@ taglib uri="/portletAPI" prefix="portletAPI" %>
    <portletAPI:init/>
    <ui:frame>
    <ui:tablerow header="true">
    <ui:tablecell>
    <ui:text key="PORTLET_WEBAPP"/>
    </ui:tablecell>
    ...etc
    Please advice since I have deadline to catch
    Regards,
    - aisyah -

    The div tags have the content that you listed ( other than the background) inside them. But in http://projecttowers.byethost7.com/specimen_files/specimen_stylesheet.css from lines 429 to 482, is the background definition for the div's.
    Here is the code i was using.
    .topscrews {
         background: url(../Re-design%20Proposal/Screw%20Top.gif);
         background-attachment: scroll;
         background-repeat: no-repeat;
         background-position: center;
         margin-right: auto;
         margin-left: auto;
         height: 13px;
         margin-bottom: -2px;
    .bottomscrews {
         height: 13px;
         margin-right: auto;
         margin-left: auto;
         background: url(../Re-design%20Proposal/screw%20bottom.gif);
         background-repeat: no-repeat;
         background-position: center;
         margin-top: -3px;
    .maincontentbox {
         background: url(../Re-design%20Proposal/panel-mid-sides.gif);
         background-repeat: repeat-y;
         background-position: center;
         height: auto;
         width: 451px;
         margin-right: auto;
         margin-left: auto;
         text-align: center;
    .mcontentbox {
    width: 560px; /**adjust as needed**/
    margin: 0 auto; /**centers div**/
    border: 5px solid gold;
    .bottomline {
         background: url(../Re-design%20Proposal/panelbottom.gif);
         background-repeat: repeat-x;
         background-position: center;
         margin-right: auto;
         margin-left: auto;
         width: 452px;
         margin-top: -10px;
    .topbar {
         background: url(../Re-design%20Proposal/paneltop.gif);
         background-repeat: repeat-x;
         background-position: center;
         width: 453px;
         margin-right: auto;
         margin-left: auto;
         margin-bottom: -10px;
    I have also checked that the images are in the correct folders on the server.
    Cotda

  • Match EQ. Good plug, but there's something that dosen't add up..

    I tried Match EQ plug and I find it useful to observe and compare Mixes and tracks, but there's something I can't understand. Here it is:
    I made a match EQ between a source and a destination Mix in 2 different way:
    1. The source Mix was louder than the destination one: I got, say, a certain match EQ
    2. The destination Mix was led up to the same level as the source one, and then a new matching passage was made: I got THE SAME MATCH EQ as before.
    How can it be possible? I thought it would have been obvious that raising destination Mix level would have changed the relationships between the 2 Mixes' Eq performance. Am I wrong?

    the Volume is related with evarage RMS ammont... (not eq because eq change if RMS change)
    but... for changing RMS you need to use Mid/Side Compressors that can change the original EQ of the "x" Mix
    so
    in order to got the "same" resulting Match EQ of "like as" "commercial mixer" you need to use a lot of different plugins... including Multiband Compressors, de-esser, EQ, EQ, and EQ again, Maximazer and on the last a great Limiter! (the order on the channel strips is related by your personal experience...
    you need to try by yoursef...
    as you understand after that the Match EQ can be used only after all mastering plugins in order to check if the EQ curve is similar!
    in any case Mastering is a art... there are no rules or better... the rules exist but for the maximum result those rules must be broken
    and is only the personal experience that brings your work to an acceptable result.
    Obviously a good mastering requir a perfect MIX...
    if your mix is defective ... adding compressors and so on.. should be a very dangerous experience..
    a good result require only little bit adjustments...
    a BAD MIX with a stromg mastering effects... will show only to increase its defects
    G

  • For Patrick Sasso/Rohan -- Aggregate Device Question

    Patrick and Rohan,
    I noticed that the thread which Patrick started was "archived" and replies are not allowed. ( http://discussions.apple.com/thread.jspa?threadID=237354&tstart=0 )
    Wondering what that's all about... But anyway, here's my question:
    I'm also running a PCI-424 and some MOTU interfaces also (old 2408 and some 1224's), but I'm not using the aggregate devices settings. So I'm wondering if I'm not aware of some useful aspect of the whole aggregate device thing... What are you using the aggregate device setup for? Is there an advantage to using it with a straight-forward audio recording/playback situation using the existing capabilities of the PCI-424 + interfaces?

    AFAIK this has always been possible (in panther....)
    as the 424 is configured, but appears as 1 device to
    the OS. Make sense or did I misread?
    I think you could do it off the MOTU PCI without
    aggregation, right? I am not a big MOTU guy but...
    Well, let's put it this way: when I got my G5 one of the first things I did was pop in the 424 card, hook up the interfaces, run the MOTU config thingee and it recognized all 3 interfaces without a hitch. Great!
    Then I installed Logic and without glitches it saw all of the MOTU ins and outs. Great!
    In my 40 output setup, Logic simply numbers the outputs consecutively, in the order that the interfaces are plugged into the 424 card. Within Logic there is no designation of outputs belonging to any particular device, i.e., none of the audio output labels are designated "MOTU 2408" or "MOTU 1224 #1" or "MOTU 1224 #2". They're just outputs 1 - 40. So in a sense, the way Logic "expresses" the MOTU outputs, it's as though they're "aggregated" -- a single device.
    It was only many weeks after I got my system up and running that I decided to explore the menus in the Audio MIDI Setup, and ran across this strange thing called "aggregate devices". There was zero, zero, zero documentation about it in the G5 manual nor in on-board Help, and a search of Apple's website turned up virtually no information. So basically, all this time I've been running with my MOTU interfaces, never configured anything having to do with aggregate devices, and I've yet to experience any kind of audio glitch with Logic. Great!
    So in conclusion, I'd say that if an audio system consists exclusively of MOTU devices, setting up aggregate devices isn't necessary. Same situation with the MIDI side of AMS, really... with Logic you don't need to configure AMS MIDI to do anything. In fact, as you may have read in some of my prior posts, setting up MIDI in AMS actually creates more work than it's worth.
    Therefore, my AMS is devoid of any user settings, except for the (seemingly) mandatory AMS-audio settings for "internal clock".

Maybe you are looking for